[ 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