[ 
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]

Reply via email to