fix: work around flexsearch returning fewer than expected result pages (#847)

Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
This commit is contained in:
Mark Alexander
2026-01-06 08:28:18 -08:00
committed by GitHub
parent 1391ebe04b
commit c4a39472eb

View File

@@ -318,7 +318,10 @@ document.addEventListener("DOMContentLoaded", function () {
} }
resultsElement.classList.remove('hx:hidden'); resultsElement.classList.remove('hx:hidden');
const pageResults = window.pageIndex.search(query, 5, { enrich: true, suggest: true })[0]?.result || []; // Configurable search limits with sensible defaults
const maxPageResults = parseInt('{{- site.Params.search.flexsearch.maxPageResults | default 20 -}}', 10);
const maxSectionResults = parseInt('{{- site.Params.search.flexsearch.maxSectionResults | default 10 -}}', 10);
const pageResults = window.pageIndex.search(query, maxPageResults, { enrich: true, suggest: true })[0]?.result || [];
const results = []; const results = [];
const pageTitleMatches = {}; const pageTitleMatches = {};
@@ -327,12 +330,13 @@ document.addEventListener("DOMContentLoaded", function () {
const result = pageResults[i]; const result = pageResults[i];
pageTitleMatches[i] = 0; pageTitleMatches[i] = 0;
// Show the top 5 results for each page const sectionResults = window.sectionIndex.search(query,
const sectionResults = window.sectionIndex.search(query, 5, { enrich: true, suggest: true, tag: { 'pageId': `page_${result.id}` } })[0]?.result || []; { enrich: true, suggest: true, tag: { 'pageId': `page_${result.id}` } })[0]?.result || [];
let isFirstItemOfPage = true let isFirstItemOfPage = true
const occurred = {} const occurred = {}
for (let j = 0; j < sectionResults.length; j++) { const nResults = Math.min(sectionResults.length, maxSectionResults);
for (let j = 0; j < nResults; j++) {
const { doc } = sectionResults[j] const { doc } = sectionResults[j]
const isMatchingTitle = doc.display !== undefined const isMatchingTitle = doc.display !== undefined
if (isMatchingTitle) { if (isMatchingTitle) {