Skip to content

Commit

Permalink
[HTML search] include partially-matched document titles in search res…
Browse files Browse the repository at this point in the history
…ults (sphinx-doc#12041)

Co-authored-by: William Lachance <[email protected]>
  • Loading branch information
jayaddison and wlach authored Mar 26, 2024
1 parent 04bd0df commit bfce4f5
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 1 deletion.
3 changes: 3 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,9 @@ Bugs fixed
* #10786: improve the error message when a file to be copied (e.g., an asset)
is removed during Sphinx execution.
Patch by Bénédikt Tran.
* #12040: HTML Search: Ensure that document titles that are partially-matched by
the user search query are included in search results.
Patch by James Addison.

Testing
-------
Expand Down
2 changes: 1 addition & 1 deletion sphinx/themes/basic/static/searchtools.js
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ const Search = {
if (!titleTerms.hasOwnProperty(word)) {
Object.keys(titleTerms).forEach((term) => {
if (term.match(escapedWord))
arr.push({ files: titleTerms[word], score: Scorer.partialTitle });
arr.push({ files: titleTerms[term], score: Scorer.partialTitle });
});
}
}
Expand Down
25 changes: 25 additions & 0 deletions tests/js/searchtools.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,31 @@ describe('Basic html theme search', function() {
expect(Search.performTermsSearch(searchterms, excluded, terms, titleterms)).toEqual(hits);
});

it('should partially-match "sphinx" when in title index', function() {
index = {
docnames:["index"],
filenames:["index.rst"],
terms:{'useful': 0, 'utilities': 0},
titles:["sphinx_utils module"],
titleterms:{'sphinx_utils': 0}
}
Search.setIndex(index);
searchterms = ['sphinx'];
excluded = [];
terms = index.terms;
titleterms = index.titleterms;

hits = [[
"index",
"sphinx_utils module",
"",
null,
7,
"index.rst"
]];
expect(Search.performTermsSearch(searchterms, excluded, terms, titleterms)).toEqual(hits);
});

});

});
Expand Down

0 comments on commit bfce4f5

Please sign in to comment.