Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scope down facet queries from web app #298

Open
twagoo opened this issue May 11, 2020 · 3 comments
Open

Scope down facet queries from web app #298

twagoo opened this issue May 11, 2020 · 3 comments

Comments

@twagoo
Copy link
Member

twagoo commented May 11, 2020

One of the large bottlenecks in the Web app - Solr request/response cycle is the facet count information provided by Solr (see #287). Currently, in many cases the web app requests too much 'expensive' information from Solr - for instance the facet.limit parameter is always set to -1 which forces Solr to return counts for all values. Furthermore, counts are always requested for all facets, including those that have not been expanded in the view. I suspect that 'narrowing down' the Solr facet queries in this respect has the potential to significantly reduce the Solr query response times and as a consequence improve the responsiveness of the VLO web app. It might also positively impact server load and memory usage.

@twagoo
Copy link
Member Author

twagoo commented May 18, 2020

It might make it easier to limit the number of requested facet values to the number of values shown in the facet panels (plus one to know if there's more) if we use the facet.contains(.ignoreCase) parameter for filtering.

@teckart
Copy link
Contributor

teckart commented May 26, 2020

Just a short remark: from the pure Solr perspective changing facet.limit does not seem to influence query times significantly with our configuration.
It helps a little to reduce the number of facets. I even found a blog post where the authors described that they reduced the number of facets on their application's main page because of performance reasons. The effect is not exactly overwhelming: I saw ~15% improvement when reducing our facet.field parameters to the six fields that are present by default for some test queries.

@twagoo
Copy link
Member Author

twagoo commented May 27, 2020

@teckart I have implemented a dynamic setting of facet.limit in the meantime, and haven't been able to observe clear performance improvements but it doesn't seem to hurt either so we'll have to see in practice with actual usage.

Good suggestion to see if we can reduce the number of facet fields in some cases. Even 15% sounds worth it.

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

No branches or pull requests

2 participants