[Feature] Support vector and full-text search in File Index
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- cpp
- Área
- data-engineering, search
Línea de trabajo
Start with the existing File Index write path, container format, readers, and the work from #173. Trace how read-context requests reach FileIndexReader and how selected row positions reach the data-file reader. Done means vector and full-text indexes round-trip through write/read paths, support the listed edge cases, and preserve per-file TopK score alignment.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Search before asking
- I searched in the issues and found nothing similar.
Motivation
Paimon C++ has File Index infrastructure for per-data-file indexes, but does not yet provide an end-to-end File Index search path for vector similarity or full-text queries. Applications should be able to build these indexes with their data files and use them to select matching file-local rows without requiring a Global Index.
Solution
Add Vector Search and Full Text Search support to File Index:
- Build and serialize vector and full-text index artifacts through the existing File Index write path and container format, and open them through File Index readers.
- Add file-local search visits to
FileIndexReaderand route search requests from the read context to the appropriate index reader. - Apply returned file-local row positions to the data-file reader. Vector Search should return a TopK result independently for each data file and keep scores aligned with selected rows; expose scores through an explicitly projected
_INDEX_SCOREcolumn. - Support Full Text Search row selection. Score output for Full Text Search can be handled separately.
- Add focused tests for write/read round trips, null or empty indexes, multiple data files and batches, score alignment, and columns with more than one File Index type.
The initial implementation can target append-only/raw-file reads. Predicate combination, deletion-vector and row-range pre-filtering, Merge-on-Read/Data Evolution, and cross-file global TopK should be handled in follow-up work so that filtering does not silently change TopK semantics.
Anything else?
This builds on the File Index writing work in #173; it is specifically about vector/full-text index implementations and their search read path.
Are you willing to submit a PR?
- I'm willing to submit a PR!
- Lenguaje dominante
- C++
- Estrellas
- 65
- Forks
- 29
- Merge medio
- 2 d 30 min
- PR fusionados (30 d)
- 77
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/paimon-cpp
-
enhancement
apache/paimon-cpp#381 · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
apache/paimon-cpp#375 · 1 asignado ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
apache/paimon-cpp#369 · 1 asignado ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
apache/paimon-cpp#347 · 1 asignado ·
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
apache/paimon-cpp#325 · 1 asignado ·
Todos los issues de apache/paimon-cpp
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
AXERA-TECH/ax-llm#77 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
games-on-whales/wolf#509 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
bug-unconfirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
NVIDIA/cuda-samples#453 ·