Hello,

Have you ever wondered if Solr will ever support saving searches and efficiently
surfacing them given a matching document?

I can't answer that question with certainty but still wanted to share a bit of 
work
that has been done over the last year to that end. The (proposed) saved-search 
module
attempts to provide a request-response API which takes a document and fetches 
matching
queries, something similar to Elastic's Percolator. Solr's streaming 
expressions API 
should work with this as well if you need to fetch a very large number of 
queries.

The documentation is here (still a WiP)
https://github.com/kotman12/solr/tree/solr-monitor-doc/solr/modules/saved-search#overview

If you want to try it out yourself you can run with the patch attached to the 
latest update
on the JIRA:
https://issues.apache.org/jira/browse/SOLR-4587

This might be of special interest to you if you already use lucene-monitor for 
this
functionality. The proposed module uses all the clever lucene-monitor 
optimizations 
for document <-> query translations. On top of that, it comes with a few of its 
own
optimizations around caching which result in potentially lower memory 
utilization as
well as freeing queries from getting blocked by updates, which is something you 
may
have encountered running lucene-monitor on your own. It also scales by default 
(thanks, Solr)
and lets you seamlessly reuse your Solr schema + analyzers for saved-search.

I would greatly appreciate feedback or involvement from anyone on this list who 
might
be interested. Looking forward to hearing from you here or on the PR .. or the 
JIRA.

Thanks,
Luke

Reply via email to