mirror of
https://github.com/zotero/zotero.git
synced 2026-10-11 03:38:25 +00:00
A root-level 'bestMatch' condition -- serialized as a marker like joinMode and resultLevel -- ranks results with the Relevance column via a "Sort results by best match for" field below the root group's conditions, composing semantic ranking with Boolean filtering. A best-match quick search converts to it via the Advanced Search button, and a selected saved search's own marker activates ranking too, overridden by an active best-match quick search. Without a cutoff the condition is rank-only and membership is untouched -- including while the index is unavailable -- so a saved search acts identically as a source, and unscoreable items just sort last. With the optional "keeping top" cutoff, carried in the marker's operator, membership becomes the K most similar results, applied in search() so scopes, counts, and the API see the same set. A transient search's cutoff, which applies uniformly to every selected row, is reapplied over the merged results so a multi-collection selection returns K members total; a saved search's cutoff is part of its own membership and never trims other selected rows. The query embedding is cached in-flight, so the per-row membership passes and the merged ranking share one worker embed. |
||
|---|---|---|
| .. | ||
| components | ||
| content | ||
| resource | ||
| tests | ||
| chrome.manifest | ||
| runtests.sh | ||