Swap docusaurus-lunr-search for @easyops-cn/docusaurus-search-local. All
query words are now required to match instead of being OR-ed, so a page
spamming one common word no longer outranks the page containing the whole
query. Underscore-joined names like CONTEXT_COMPACTION_TOKEN_CAP are
indexed both whole and as sub-words, matched terms are highlighted on the
target page, and a full results page is available at /search.
Add an exact-match layer on top (src/client/exactSearch.js, wired via
webpack module replacement). Multi-word or quoted queries that occur
verbatim on a page always rank first, rendered as a single marked phrase
with a section-anchor deep link, with token-based results following. A
SearchBar wrapper (src/theme/SearchBar) highlights exactly the searched
sentence on the target page and scrolls it into view, replacing the
per-word highlight parameters for these results.
Also mention the Builtin Tools capability name on the tools page so the
in-product term is findable by search.