apache / apache/lucene

BKDWriter refactor: Make BKDIndexWriter an interface [LUCENE-9294]

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

Description

With this change we introduce an interface called BKDIndexWriter. This interface should be just a wrapper of an IndexOutput, therefore whenever we are creating a BKD index we should pass an object that implements this interface instead of an IndexOutput.

This change allows to remove the SimpleTextBKDWriter fork and replace it with a SimpleTextBKDIndexWriter, therefore have just the logic to build a tree in one place.

---
Migrated from [LUCENE-9294](https://issues.apache.org/jira/browse/LUCENE-9294) by Ignacio Vera (@iverase)

Contributor guide

Open the contributing guide

Research direction

Start by locating BKDIndexWriter, IndexOutput, and the existing SimpleTextBKDWriter implementation in the Lucene source. Trace where BKD indexes are created and identify the affected callers; done means BKD construction accepts the new interface and the SimpleText fork is replaced by SimpleTextBKDIndexWriter without duplicating tree-building logic.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Refactor
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.