Skip to content

Comments

Empty list in search list#146

Open
gpx1000 wants to merge 10 commits intoKhronosGroup:mainfrom
gpx1000:empty-list-in-search-list
Open

Empty list in search list#146
gpx1000 wants to merge 10 commits intoKhronosGroup:mainfrom
gpx1000:empty-list-in-search-list

Conversation

@gpx1000
Copy link
Collaborator

@gpx1000 gpx1000 commented Dec 1, 2025

DO NOT MERGE THIS DIRECTLY.

This points back to a PR repo under review. When the index changes in antora-lunr-extension are merged from my repo, then update to point at that commit and then merge.

gpx1000 and others added 5 commits January 17, 2025 12:27
This commit introduces workflow_dispatch inputs for specifying branch names or tags for multiple repositories in the CI pipeline. It enables flexibility for testing specific versions of dependencies, with defaults set to 'main.' Additionally, a conditional check ensures local publishing to GitHub Pages based on input or event type.
update to test the empty list fix in the index.
@gpx1000 gpx1000 linked an issue Dec 1, 2025 that may be closed by this pull request
@gpx1000
Copy link
Collaborator Author

gpx1000 commented Dec 1, 2025

Implemented parsing logic to resolve repository and reference overrides for multiple dependencies dynamically based on inputs. Updated checkout steps to use resolved values, improving flexibility and maintainability.
- Restored intuitive “type‑ahead” results for underscore/hyphenated terms (e.g., Vulkan extension names) without changing the index format.
- Begins‑with fallback: if a query term contains `_` or `-`, we now use the raw lowercased prefix (`original + '*'`, pipeline disabled) so composite tokens like `vk_nv_copy` match early during incremental typing (`vk`, `vk_`, `vk_nv`, …).
- Contains fallback: continues to use a normalized/stemmed last segment substring (`*segStem*`, pipeline disabled) for robust matching across inflections while keeping recall.
- Preserved previous fixes:
  - Case‑insensitive wildcard matching.
  - Vendor‑order retry (`NV_VK_*` ↔ `VK_NV_*`) only on zero results.
  - Split‑index rendering guard: no blank rows; show a single “No results found …” dataset when there are no hits.
  - Index‑side fallbacks ensure non‑empty `title` and `text` in all docs.
- Segment‑aware wildcard search for underscore/hyphen tokens
  - Begins‑with fallback: if a query term contains `_` or `-`, use the raw, lower‑cased composite prefix (`original + '*'`) so partial typing like `vk_nv_c`, `vk_nv_copy`, `vk_nv_copy_mem` yields matches early.
  - Contains fallback: use the last segment’s normalized/stemmed token with leading/trailing wildcards (`*seg*`) to match inflections like `copy`→`copi`.
  - Case‑insensitivity preserved; pipeline is bypassed for wildcard phases but we pre‑normalize as needed.
- Stabilized results for underscore/hyphen queries
  - Skip trie prefiltering when the input contains `_` or `-` to avoid over‑restrictive candidate pruning that caused result churn during incremental typing.
- Ranking improvements
  - Increased field boost for `name` (page/extension name) so extension pages rank above general mentions: `name: 15`, `title: 10`, `keyword: 5`. Also mirrored this boost in the temporary filtered index.
- Vendor‑order retry retained
  - Zero‑result safety net re‑tries `NV_VK_*` ↔ `VK_NV_*` queries once (allow‑listed vendors), unchanged.
@oddhack
Copy link
Collaborator

oddhack commented Feb 23, 2026

Telecon: @oddhack will build locally to review how search works, can be merged with their approval.

@oddhack
Copy link
Collaborator

oddhack commented Feb 23, 2026

@gpx1000 I built locally and compared to the current published docs site. The immediate issue, of the empty list results, does seem not to appear in superficial testing - e.g. I can put in "VK_KHR_spir" and see just 3 matching results, without empty list boxes afters. But there appear to be some pretty serious regressions, too. For example, putting in 'format' in the docs site returns several pages of matching results, while with this branch, it shows nothing - not even an empty results box, but nothing at all under the searchbox. However, putting in a prefix like 'forma' does return much the same list as the docs site with the same term (in somewhat different order, which may not mean anything).

I don't think we can publish as this stands. Using a common word as a search term and returning nothing is not OK. Related, having a test framework that we could hang various common queries off to look for sensible results would be very helpful and likely would have caught this behavior immediately, as 'format' is a pretty common query.

@oddhack oddhack self-requested a review February 23, 2026 20:48
Copy link
Collaborator

@oddhack oddhack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs to return relevant results for simple search terms, as noted in my previous comment, before we can accept this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Search lists empty results

2 participants