Skip to content

[HTML search] Bug: 'indexentries' section missing results from search index following non-fresh project rebuild. #12599

Open
@jayaddison

Description

@jayaddison

Describe the bug

During some resource consumption profiling I noticed that the baseline searchindex.js size that I was comparing against dropped fairly (~30%) when a project is rebuilt. This occurs both on the development branch that I was using, and also for v7.4.4 mainline.

How to Reproduce

$ sphinx-build -b html doc _build_baseline  # built once
$ sphinx-build -b html doc _build_rebuilt
$ sphinx-build -b html doc _build_rebuilt   # built twice
$ find _build* -type f -name 'searchindex.js' -exec ls -sh {} +
476K _build_baseline/searchindex.js  352K _build_rebuilt/searchindex.js

Comparing the contents of the searchindex.js files, the difference appears to be that indexentries section of the file contains different results; many are missing from the rebuilt copy. The first item that is missing is a key with name --author.

Environment Information

Platform:              linux; (Linux-6.9.8-arm64-aarch64-with-glibc2.38)
Python version:        3.12.4 (main, Jun 12 2024, 19:06:53) [GCC 13.2.0])
Python implementation: CPython
Sphinx version:        7.4.4
Docutils version:      0.21.2
Jinja2 version:        3.1.4
Pygments version:      2.18.0

Sphinx extensions

N/A

Additional context

Discovered during work on #12596.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions