[
https://issues.apache.org/jira/browse/SOLR-4587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17835006#comment-17835006
]
Luke Kot-Zaniewski edited comment on SOLR-4587 at 4/8/24 5:59 PM:
------------------------------------------------------------------
Greetings,
I've raised this PR [https://github.com/apache/solr/pull/2382] which attempts
to integrate lucene-monitor (formerly luwak) into solr. The integration is
percolator-like in that it optimizes reverse searching by only running the
queries that pass a cheap pre-search phase. AFAIK percolator doesn't rely on
lucene-monitor for this but the ES algorithm is somewhat similar to
lucene-monitor.
As it stands now, the proposed API lets you pass a document to the search
endpoint equipped with a special reverse search component which lucene-monitor
converts into an optimized TermInSetQuery (keeping only the subset of terms
from the document that can possibly even match a saved query). As you might
expect, the ingestion endpoint can accept user queries that it decomposes
(another lucene-monitor optimization) and then saves/indexes as lucene
documents so that they can be surfaced in the pre-search phase.
The API is still a draft and I would be excited to hear any feedback. I've also
been thinking about how to integrate this with some kind of streaming function
although I think that a simple, single-response reverse search endpoint is
still valuable. It is also how percolator seems to do it which is what the
original reporter was asking about. Again, any engagement on this PR is very
welcome :)
Thanks,
Luke
was (Author: JIRAUSER304885):
Greetings,
I've raised this PR [https://github.com/apache/solr/pull/2382] which attempts
to integrate lucene-monitor (formerly luwak) into solr. The integration is
percolator-like in that it optimizes reverse searching by only running the
queries that pass a cheap pre-search phase. AFAIK percolator doesn't rely on
lucene-monitor for this but the ES algorithm is somewhat similar to
lucene-monitor.
As it stands now, the proposed API lets you pass a document to the search
endpoint equipped with a special reverse search component which lucene-monitor
converts into an optimized TermInSetQuery (keeping only the subset of terms
from the document that can possibly even match a saved query). As you might
expect, the ingestion endpoint can accept user queries that it decomposes
(another lucene-monitor optimization) and then saves/indexes as lucene
documents so that they can be surfaced in the pre-search phase.
The API is still a draft and I would be excited to hear any feedback. I've also
been thinking about how to integrate this with some kind of streaming function
although I think that a simple, single-response reverse search endpoint is
still valuable. It is also how percolator seems to do it which is what the
original reporter was asking about. Again, any engagement on this PR is very
welcome :)
Thanks,
Luke
> Implement Saved Searches a la ElasticSearch Percolator
> ------------------------------------------------------
>
> Key: SOLR-4587
> URL: https://issues.apache.org/jira/browse/SOLR-4587
> Project: Solr
> Issue Type: New Feature
> Components: SearchComponents - other, SolrCloud
> Reporter: Otis Gospodnetic
> Priority: Major
> Fix For: 6.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Use Lucene MemoryIndex for this.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]