Improve evidence search ranking and diagnostics
This commit is contained in:
@@ -235,6 +235,8 @@ pub struct EvidenceSearchResult {
|
||||
pub score: f64,
|
||||
pub source: EvidenceLocator,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub match_info: Option<EvidenceSearchMatchInfo>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub citation_url: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub citation_label: Option<String>,
|
||||
@@ -242,12 +244,28 @@ pub struct EvidenceSearchResult {
|
||||
pub citation_markdown: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct EvidenceSearchMatchInfo {
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub rank: Option<u32>,
|
||||
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
||||
pub matched_terms: Vec<String>,
|
||||
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
||||
pub missing_terms: Vec<String>,
|
||||
pub match_mode: String,
|
||||
pub match_scope: String,
|
||||
pub strong: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct EvidenceSearchResponse {
|
||||
pub ok: bool,
|
||||
#[serde(default)]
|
||||
pub results: Vec<EvidenceSearchResult>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub diagnostics: Option<Value>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
|
||||
@@ -41,10 +41,11 @@ pub use editor::{
|
||||
pub use evidence::{
|
||||
EvidenceBBox, EvidenceEdge, EvidenceLocator, EvidenceOpenAction, EvidenceOpenRequest,
|
||||
EvidenceRange, EvidenceReadContext, EvidenceReadRequest, EvidenceReadResponse,
|
||||
EvidenceResourceKind, EvidenceSearchMode, EvidenceSearchRequest, EvidenceSearchResponse,
|
||||
EvidenceSearchResult, EvidenceSearchScope, ParsedResourceArtifact, ResourceSourceMap,
|
||||
SourceMapBlock, SourceMapBlockKind, SourceMapPage, SourceMapSection, SourceMapTextItem,
|
||||
EVIDENCE_LOCATOR_SCHEMA, PARSED_RESOURCE_ARTIFACT_SCHEMA, RESOURCE_SOURCE_MAP_SCHEMA,
|
||||
EvidenceResourceKind, EvidenceSearchMatchInfo, EvidenceSearchMode, EvidenceSearchRequest,
|
||||
EvidenceSearchResponse, EvidenceSearchResult, EvidenceSearchScope, ParsedResourceArtifact,
|
||||
ResourceSourceMap, SourceMapBlock, SourceMapBlockKind, SourceMapPage, SourceMapSection,
|
||||
SourceMapTextItem, EVIDENCE_LOCATOR_SCHEMA, PARSED_RESOURCE_ARTIFACT_SCHEMA,
|
||||
RESOURCE_SOURCE_MAP_SCHEMA,
|
||||
};
|
||||
pub use kernel::{
|
||||
DocBufferDirtyState, DocumentBuffer, DocumentContentResult, DocumentReadEvidenceItem,
|
||||
|
||||
Reference in New Issue
Block a user