I ran into this same problem where I’m building my own index and after an evening of searching around I finally discovered what was going on. The short answer is set
contextualSearch: false in your config above.
contextualSearch is default true, which is why this is popping up. For reference in the Docusaurus docs for Search it says
Let’s consider you have 2 docs versions ( v1 and v2 ) and 2 languages (
When browsing v2 docs, it would be odd to return search results for the v1 documentation. Sometimes v1 and v2 docs are quite similar, and you would end up with duplicate search results for the same query (one result per version).
Similarly, when browsing the French site, it would be odd to return search results for the English docs.
To solve this problem, the contextual search feature understands that you are browsing a specific docs version and language, and will create the search query filters dynamically.
While this does indeed sound useful, the default settings append a bunch of query parameters to the request. I had copied the query request out of the browser and put it into Postman to start understanding what was causing the issue. At the very end of the request was
These facets come from Config templates | DocSearch by Algolia the template so I’m guessing Docusuarus made the distinction that by default they expect everyone to use their template. If you want to turn
contextualSearch back on, it looks like you need to add the facets
If you look in the config docs Config Files | DocSearch by Algolia it looks like you can add these facets like so
"lang": ["en", "fr"],
"version": ["latest", "3.3", "3.2"]
Though I tried doing that and adjusting to what was needed to no avail. I started searching through issues on Docusaurus and came across Search page always returns blank, since upgrading from alpha 66 to alpha 72 · Issue #4644 · facebook/docusaurus · GitHub which specifically had an answer Search page always returns blank, since upgrading from alpha 66 to alpha 72 · Issue #4644 · facebook/docusaurus · GitHub which indicated you can add
custom_settings to your
config.json like so
Those attributes need to match up with what is in the
<head> on the site you’re indexing. I think everything is there by default, mine had
<meta data-rh="true" name="docsearch:language" content="en">
<meta data-rh="true" name="docsearch:version" content="current">
<meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current">
After re-indexing with the
custom_settings and setting
contextualSearch: true (or removing it so it defaulted back to true) the search works.
Hopefully this question ranks high in Google and the next person who comes across this issue lands here