On 03/08/2013 00:50, Mark wrote:
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
Hi Mark,
We've built something that implements this kind of reverse search for
our clients in the media monitoring sector - we're working on releasing
the core of this as open source very soon, hopefully in a month or two.
It's based on Lucene.
Just for reference it's able to apply tens of thousands of stored
queries to a document per second (our clients often have very large and
complex Boolean strings representing their clients' interests and may
monitor hundreds of thousands of news stories every day). It also
records the positions of every match. We suspect it's a lot faster and
more flexible than Elasticsearch's Percolate feature.
Cheers
Charlie
--
Charlie Hull
Flax - Open Source Enterprise Search
tel/fax: +44 (0)8700 118334
mobile: +44 (0)7767 825828
web: www.flax.co.uk