apache / apache/lucene

Per-segment tracking of external/side-car data [LUCENE-4658]

Open
#5,723 11 comments 0 reactions 1 assignee Claimed by @mikemccand 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

Spinoff from David's idea on #5328
(https://issues.apache.org/jira/browse/LUCENE-4258?focusedCommentId=13534352&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13534352 )

I made a prototype patch that allows custom per-segment "side-car
data". It adds an abstract ExternalSegmentData class. The idea is
the app implements this, and IndexWriter will pass each Document
through to it, and call on it to do flushing/merging. I added a
setter to IndexWriterConfig to enable it, but I think this would
really belong in Codec ...

I haven't tackled the read-side yet, though this is already usable
without that (ie, the app can just open its own files, read them,
etc.).

The random test case passes.

I think for example this might make it easier for Solr/ElasticSearch
to implement things like ExternalFileField.

---
Migrated from [LUCENE-4658](https://issues.apache.org/jira/browse/LUCENE-4658) by Michael McCandless (@mikemccand), 4 votes, updated Mar 17 2013
Attachments: [LUCENE-4658.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-4658/LUCENE-4658.patch) (versions: 2)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.