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

Reply via email to