how to improve search results with queryelevationcomponent

how to improve search results with queryelevationcomponent  using -'performance,solr'

I'm using solr 1.4 and using QueryElevation Component for guaranteed search position. I have around 700,000 documents with 1 Mb 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?

asked Oct 11, 2015 by abhimca2006
0 votes

1 Answer

0 votes

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?

answered Oct 11, 2015 by deepak