You seem to be mixing a couple of different concepts here. "Prospective search" or reverse search, (sometimes called alerts) is a logistics matter, but how to match terms is completely different.

Solr does not have the exact "percolate" feature of ES, but your examples don't indicate a need for what percolate actually does.

"can match a user's query against all the terms in the index" - that's exactly what Lucene and Solr have done since Day One, for all queries. Percolate actually does the opposite - matches an input document against a registered set of queries - and doesn't match against indexed documents.

Solr does support Lucene's "min should match" feature so that you can specify, say, four query terms and return if at least two match. This is the "mm" parameter.

See:
http://wiki.apache.org/solr/ExtendedDisMax#mm_.28Minimum_.27Should.27_Match.29

Try to clarify your requirements... or maybe min-should-match was all you needed?

-- Jack Krupansky

-----Original Message----- From: Mark
Sent: Friday, August 02, 2013 7:50 PM
To: solr-user@lucene.apache.org
Subject: Percolate feature?

We have a set number of known terms we want to match against.

In Index:
"term one"
"term two"
"term three"

I know how to match all terms of a user query against the index but we would like to know how/if we can match a user's query against all the terms in the index?

Search Queries:
"my search term" => 0 matches
"my term search one" => 1 match  ("term one")
"some prefix term two" => 1 match ("term two")
"one two three" => 0 matches

I can only explain this is almost a reverse search???

I came across the following from ElasticSearch (http://www.elasticsearch.org/guide/reference/api/percolate/) and it sounds like this may accomplish the above but haven't tested. I was wondering if Solr had something similar or an alternative way of accomplishing this?

Thanks

Reply via email to