Skip to content

Single text index per segment #15750

Description

@xiangfu0

We recently observed use cases with 100+ columns requiring text indices, which causes the issue of too many open files as current text index implementation is per column.

The proposal here is to allow one shared Lucene Index for Multiple Columns in Pinot.

Changes

  • One Lucene index directory per segment, not per column.
  • Each text column is represented as a Lucene field within that shared index.
  • TextMatch queries can specify which column (i.e., Lucene field) to search.

Challenges

  • Meanwhile the down side is also obvious, that whenever there are changes required for adding/removing column index, the process may take longer time for rebuilding the whole index.
  • How to handle null/missing value
  • shared index dir is a fixed path per segment

#Future extentions

  • Advanced queries: Support cross-field Lucene queries if needed later.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprovement to existing functionalityindexRelated to indexing (general)pluginsRelated to the plugin systemstaleNo activity for an extended period

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions