use serde::{Deserialize, Serialize};
use serde_json::Value;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Document {
pub doc_id: usize,
#[serde(flatten)]
pub label: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QueryExpression {
pub query_id: usize,
pub filter: Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GroundTruthResult {
pub query_id: u64,
pub count: usize,
pub ids: Vec<u64>,
pub distances: Vec<f32>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct GroundTruthMetadata {
pub distance_func: String,
pub query_num: usize,
}