Sphinx has trouble estimating total_found for a query when max_matches is set too low. When gazelle searches, it normally sets max_matches to highest group result number on the page (on page 1 max_matches is 50, on page 2 it’s 100, etc) This causes the reported “Results” count to be too large for queries with many results (like the default browse view) and the “last” page link will point to a page that doesn’t exist
We “fixed” this by hard coding 1500 as the minimum value of max_matches because testing showed it had no performance impact, and this makes the results count perfectly accurate on our DB of ~6000 groups, but it doesn’t ensure 100% accuracy at any scale. The minimum value of max_matches should grow slightly over time as the database does, either by being determined on every query, or by being updated by the scheduler every so often.
Sphinx has trouble estimating total_found for a query when max_matches is set too low. When gazelle searches, it normally sets max_matches to highest group result number on the page (on page 1 max_matches is 50, on page 2 it's 100, etc) This causes the reported "Results" count to be too large for queries with many results (like the default browse view) and the "last" page link will point to a page that doesn't exist
We "fixed" this by hard coding 1500 as the minimum value of max_matches because testing showed it had no performance impact, and this makes the results count perfectly accurate on our DB of ~6000 groups, but it doesn't ensure 100% accuracy at any scale. The minimum value of max_matches should grow slightly over time as the database does, either by being determined on every query, or by being updated by the scheduler every so often.
Sphinx has trouble estimating total_found for a query when max_matches is set too low. When gazelle searches, it normally sets max_matches to highest group result number on the page (on page 1 max_matches is 50, on page 2 it’s 100, etc) This causes the reported “Results” count to be too large for queries with many results (like the default browse view) and the “last” page link will point to a page that doesn’t exist
We “fixed” this by hard coding 1500 as the minimum value of max_matches because testing showed it had no performance impact, and this makes the results count perfectly accurate on our DB of ~6000 groups, but it doesn’t ensure 100% accuracy at any scale. The minimum value of max_matches should grow slightly over time as the database does, either by being determined on every query, or by being updated by the scheduler every so often.
Fixed in 87bec35386