How to improve search results with QueryElevationComponent?
I'm using solr 1.4 and using QueryElevation Component for guaranteed search position. I have around 700,000 documents with 1 Mb 开发者_Python百科elevation file. It turns out it is quite slow on the newrelic monitoring website:
Slowest Components Count Exclusive Total
QueryElevationComponent 1 506,858 ms 100% 506,858 ms 100%
SolrIndexSearcher 1 2.0 ms 0% 2.0 ms 0%
org.apache.solr.servlet.SolrDispatchFilter.doFilter() 1 1.0 ms 0% 506,862 ms 100%
QueryComponent 1 1.0 ms 0% 1.0 ms 0%
DebugComponent 1 0.0 ms 0% 0.0 ms 0%
FacetComponent 1 0.0 ms 0% 0.0 ms 0%
I'm looking for how to improve the speed of the search query. The QueryElevation Component is taking too much time which is unacceptable. The size of elevation file is only 1 Mb. I wonder other people using this component without problems (related to speed)? Am I using it the wrong way or there is a limit when using this component?
This is a huge number of docs you want to elevate - I'm sure this wasn't designed for that :-)!
Isn't there a common attribute of your docs e.g. salesrank, where you can then simply use the dismax handler to boost the docs? e.g. via bf=recip(sqrt(sales_rank_i),1,1,1))
(Or you could simply sort the docs against this salesrank field)
Or couldn't you introduce such a field?
精彩评论