Skip to content

Commit ecd5bbd

Browse files
committed
fix(file-index): address search review feedback
1 parent 0bcceba commit ecd5bbd

37 files changed

Lines changed: 1402 additions & 833 deletions

‎include/paimon/read_context.h‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class PAIMON_EXPORT ReadContext {
109109
return full_text_search_;
110110
}
111111

112-
bool HasFileIndexSearch() const {
112+
bool HasVectorOrFullTextSearch() const {
113113
return vector_search_ != nullptr || full_text_search_ != nullptr;
114114
}
115115

@@ -339,14 +339,20 @@ class PAIMON_EXPORT ReadContextBuilder {
339339
/// @return Reference to this builder for method chaining.
340340
ReadContextBuilder& SetPredicate(const std::shared_ptr<Predicate>& predicate);
341341

342-
/// Configure file-local vector search. The limit is applied independently to every data file.
343-
/// Vector search and full-text search are mutually exclusive.
342+
/// Set the vector search request used when reading data.
343+
///
344+
/// TODO(jinli.zjw): Support combining vector search with predicates and full-text search. Merge
345+
/// per-file candidates to compute read-level top-k results.
346+
///
344347
/// @param vector_search Vector search request, or nullptr to clear it.
345348
/// @return Reference to this builder for method chaining.
346349
ReadContextBuilder& SetVectorSearch(const std::shared_ptr<VectorSearch>& vector_search);
347350

348-
/// Configure file-local full-text search. The limit is applied independently to every data
349-
/// file. Full-text search and vector search are mutually exclusive.
351+
/// Set the full-text search request used when reading data.
352+
///
353+
/// TODO(jinli.zjw): Support combining full-text search with predicates and vector search. Apply
354+
/// the search limit to merged per-file results at read level.
355+
///
350356
/// @param full_text_search Full-text search request, or nullptr to clear it.
351357
/// @return Reference to this builder for method chaining.
352358
ReadContextBuilder& SetFullTextSearch(const std::shared_ptr<FullTextSearch>& full_text_search);

‎src/paimon/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,7 @@ if(PAIMON_BUILD_TESTS)
652652
common/predicate/predicate_utils_test.cpp
653653
common/predicate/predicate_validator_test.cpp
654654
common/reader/complete_index_score_batch_reader_test.cpp
655+
common/reader/complete_index_score_file_batch_reader_test.cpp
655656
common/reader/concat_batch_reader_test.cpp
656657
common/reader/data_file_reader_factory_test.cpp
657658
common/reader/late_materializing_file_batch_reader_test.cpp

‎src/paimon/common/file_index/scored_file_index_result_test.cpp‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,6 @@ TEST(ScoredFileIndexResultTest, TestCreate) {
3636
EXPECT_TRUE(remain);
3737
EXPECT_EQ("row positions: {2,5}, scores: {0.25,0.75}", result->ToString());
3838

39-
std::shared_ptr<FileIndexResult> file_index_result = result;
40-
ASSERT_OK_AND_ASSIGN(remain, file_index_result->IsRemain());
41-
EXPECT_TRUE(remain);
42-
4339
ASSERT_OK_AND_ASSIGN(std::shared_ptr<ScoredFileIndexResult> empty,
4440
ScoredFileIndexResult::Create(RoaringBitmap32(), {}));
4541
EXPECT_TRUE(empty->IsEmpty());

0 commit comments

Comments
 (0)