[ 
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: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to