Improve search responsiveness

anatoly techtonik avataranatoly techtonik created an issue

When user is redirected to search page from other page and searchindex is not cached and is big (800k or more), the search may appear broken to user. This is described in http://bugs.python.org/issue7731

The patch below make search page load index only after form controls are animated and user is receiving feedback of what is going on. The proper version would, of course, display message "Caching search index 20k/800k 2.5% complete..." and used received JSON directly instead of reevaluating it, but this requires more time to develop that I had to research this problem.

Comments (8)

  1. anatoly techtonik

    Do you really think that search functionality should be a part of a theme? I would say it is an essential feature to be present in Sphinx independently of themes.

    Is it for 1.0 or for 0.6.x ?

  2. Georg Brandl

    Don't worry about themes. The search functionality is part of the "basic" theme, which every other theme inherits. The commits are made in the 1.0 branch.

  3. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.