lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mikhail Khludnev <>
Subject Re: Implementing SOLR-1093
Date Fri, 06 Apr 2012 08:34:10 GMT
Hello Karthick,

SOLR-1093 formulated as a "batch", but you are talking about something like
"fallback query" or staged handling. I think it's the best way to have an
optimal trade off between precision and recall. My points are:
 - I don't think that results should be merged, I suppose that the first
non-empty result only should be returned.
 - I did it some time ago as a StagingSearchHandler, which walk through
other handlers, and
 - I rely on configured list of slave handlers, instead of the list of
 - Also I iterated through query parsers with the same q=<phrase>, every of
them parses the same phrase onto more query with the different selectivity,
eg. AND first, OR then, OR with stemming after that, etc.

I haven't had a time to polish and contribute it properly. Does anybody
need it?


On Thu, Apr 5, 2012 at 6:11 PM, Karthick Duraisamy Soundararaj <> wrote:

> Hi all,
>         I am finding a need to merge the results of multiple queries to
> accomplish a functionality similar to this
> The rules are:
>                      1. Make query 1
>                      2. If results returned by query1 is less than a
> certain threshold, then Make query 2
> Extending this idea, I want to be able to create a query chain, i.e,
> provide a functionality where you could specify n queries and n-1
> thresholds in a single url. Start querying in the order from 1 to n until
> one of them produces results that exceed the threshold.
> With merge=true and mergeQueries=1,2,3. Would merge(sandwich) the results
> of the queries 1,2&3.
> I have got a proof of concept ready where I just modified doFilter
> function in I am thinking about writing a
> MultiSelectHandler that would handle the multiselect requests. Any
> suggestions/thoughts/pointers as where to begin looking for will be of
> great help.
> PS: These n queries and n threshold are passed on a single url and each of
> them could use different request handlers and therefore take a different
> set of parameters. By threshold I mean the count of results
> returned(hits/NumFound).
> Thank you,
> Karthick

Sincerely yours
Mikhail Khludnev


View raw message