apache / apache/lucene

Add document oriented collector for NRTSuggester [LUCENE-6880]

Open
#7,938 3 comments 0 reactions 0 assignees View on GitHub
legacy-jira-fix-version:6.7 legacy-jira-fix-version:7.0 legacy-jira-priority:Major type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

Currently NRTSuggester collects completions iteratively as they are accepted by the TopNSearcher, implying that a document can be collected more than once. In case of indexing a completion with multiple context values, the completion leads to `num_context` paths in the underlying FST for the same docId and gets collected `num_context` times, when a query matches all its contexts.

Ideally, a document-oriented collector will collect top N documents instead of top N completions by handling the docId deduplication while collecting the completions. This could be used to collect n unique documents that matched a completion query.

---
Migrated from [LUCENE-6880](https://issues.apache.org/jira/browse/LUCENE-6880) by Areek Zillur (@areek), updated Jun 08 2017
Attachments: [LUCENE-6880.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-6880/LUCENE-6880.patch)

Contributor guide

Open the contributing guide

Research direction

Start with the NRTSuggester collector behavior described in the issue and review the attached LUCENE-6880.patch. Trace how completions are collected when multiple context values map to one docId. Done means collecting top N unique documents rather than duplicate completions, including when a query matches all contexts.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.