fix knowledge rag docx sidecar locator
This commit is contained in:
@@ -1585,7 +1585,7 @@ pub async fn office_preview_page(Query(query): Query<OfficePreviewQuery>) -> Res
|
||||
for (const element of elements) {{
|
||||
const compactElement = compactEvidenceText(element.textContent || '');
|
||||
if ((compactAnchor.length >= 6 || shortQueryAnchor) && compactElement.includes(compactAnchor)) {{
|
||||
return markEvidenceTarget(shortQueryAnchor ? shortLeadingAnchorTarget(element, elements, elements.indexOf(element)) : element);
|
||||
return markEvidenceTarget(element);
|
||||
}}
|
||||
if (
|
||||
compactAnchorWithoutNumbers.length >= 8
|
||||
@@ -1631,11 +1631,7 @@ pub async fn office_preview_page(Query(query): Query<OfficePreviewQuery>) -> Res
|
||||
const text = normalizeEvidenceText(element.textContent || '');
|
||||
if (!text || text.length < 3 || text.length > 6000) return 0;
|
||||
const compactText = compactEvidenceText(text);
|
||||
const compactSearchQuery = compactEvidenceText(evidenceSearchQuery);
|
||||
let score = 0;
|
||||
if (compactSearchQuery.length >= 2 && compactText.includes(compactSearchQuery)) {{
|
||||
score += 2400;
|
||||
}}
|
||||
for (const anchor of anchors) {{
|
||||
const compactAnchor = compactEvidenceText(anchor);
|
||||
if (!compactAnchor || compactAnchor.length < 4) continue;
|
||||
@@ -1771,7 +1767,14 @@ pub async fn office_preview_page(Query(query): Query<OfficePreviewQuery>) -> Res
|
||||
if (!best || score > best.score) best = {{ element, score }};
|
||||
if (score >= 2400 && evidenceElementMatchesSearchQuery(element)) break;
|
||||
}}
|
||||
return best ? markEvidenceTarget(best.element) : false;
|
||||
if (!best) return false;
|
||||
if (!anchors.length) {{
|
||||
return evidenceElementMatchesSearchQuery(best.element) ? markEvidenceTarget(best.element) : false;
|
||||
}}
|
||||
const threshold = Math.max(180, Math.min(800, anchors[0].length * 4));
|
||||
if (best.score >= threshold) return markEvidenceTarget(best.element);
|
||||
if (best.score > 0 && evidenceElementMatchesSearchQuery(best.element)) return markEvidenceTarget(best.element);
|
||||
return false;
|
||||
}}
|
||||
|
||||
function scrollToEvidencePageFallback() {{
|
||||
@@ -1786,15 +1789,15 @@ pub async fn office_preview_page(Query(query): Query<OfficePreviewQuery>) -> Res
|
||||
try {{
|
||||
const sourceMap = await fetchEvidenceSourceMap();
|
||||
const block = findEvidenceBlockInSourceMap(sourceMap);
|
||||
if (evidenceParagraphOrdinal && scrollToEvidenceParagraphOrdinal()) return;
|
||||
if (evidenceText && scrollToEvidenceParagraph(evidenceText)) return;
|
||||
if (evidenceParagraphOrdinal && scrollToEvidenceParagraphOrdinal()) return;
|
||||
if (block && scrollToEvidenceParagraph(block.text)) return;
|
||||
if (evidenceText && scrollToEvidenceTextCandidates(evidenceText)) return;
|
||||
if (block && scrollToEvidenceTextCandidates(block.text)) return;
|
||||
if (scrollToEvidenceCoordinate(sourceMap, block)) return;
|
||||
}} catch (_) {{}}
|
||||
if (evidenceParagraphOrdinal && scrollToEvidenceParagraphOrdinal()) return;
|
||||
if (evidenceText && scrollToEvidenceParagraph(evidenceText)) return;
|
||||
if (evidenceParagraphOrdinal && scrollToEvidenceParagraphOrdinal()) return;
|
||||
if (evidenceText && scrollToEvidenceTextCandidates(evidenceText)) return;
|
||||
scrollToEvidencePageFallback();
|
||||
}}
|
||||
|
||||
Reference in New Issue
Block a user