fix: Prioritize exact phrase matches and fix case-sensitive search

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-05 13:09:36 -07:00
parent 3c84980903
commit 2b00a7af2d
2 changed files with 21 additions and 3 deletions

View File

@@ -481,6 +481,15 @@ export class SearchEngine {
query
)
let bestMatch: SearchMatch | undefined
if (
matches.length > 0 &&
query.getBestStringForExcerpt() &&
matches[0].match.toLowerCase() === query.getBestStringForExcerpt()
) {
bestMatch = matches.shift()
}
const lowerCaseBasename = note.basename.toLowerCase()
const titleMatchWord = foundWords.find(word =>
lowerCaseBasename.includes(word.toLowerCase())
@@ -514,6 +523,10 @@ export class SearchEngine {
}
}
if (bestMatch) {
matches.unshift(bestMatch)
}
logVerbose(`Matches for note "${note.path}"`, matches)
const resultNote: ResultNote = {
score: result.score,