In all of my queries I have timeAllowed parameter. My application is
ready for partial results. However, whenever Solr returns partial result
it is a very bad result.
For example, I have a test query and here its execution log with the
strict time allowed:
WARNING: Query: <omitted>; Elapsed time: 120Exceeded allowed search
time: 100 ms.
INFO: [] webapp=/solr path=/select
params={<omitted>&timeAllowed=100} hits=189 status=0 QTime=119
Here it is without such a strict limitation:
INFO: [] webapp=/solr path=/select
params={<omitted>&timeAllowed=10000} hits=582 status=0 QTime=124
The total execution time is different by mere 5 ms, but the partial
result has only about 1/3 of the full result.
Is it the expected behaviour? Does that mean I can never rely on the
partial results?
I added timeAllowed to protect from too expensive wide queries, but I
still want to return something relevant to the user. This query returned
30% of the full result, but I have other queries in the log where
partial result is just empty. Am I doing something wrong?
P.S. I am using Solr 3.6.1, index size is 3Gb and easily fits in memory.
Load Average on the Solr box is very low.
-- Aleksey