[refactor](index) Move collection similarity to shared index code (#68602)

### What problem does this PR solve?

Problem Summary:

`CollectionSimilarity` is used by both inverted-index and SNII query
paths, but its source and header live under `storage/compaction`. Move
the implementation and its unit test to the shared `storage/index`
directory and update direct includes. No scoring logic changes.
This commit is contained in:
Jack authored and GitHub committed 2026-09-29 22:23:53 +08:00
1 parent 254abb2507
commit 7c2f99b1bc
12 files changed
+15 -15

No files matched your search

@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include "core/column/column_nullable.h"
#include "core/column/column_vector.h"
@@ -165,4 +165,4 @@ void CollectionSimilarity::find_top_k_scores(const roaring::Roaring* row_bitmap,
}
}
} // namespace doris
} // namespace doris
+1 -1
View File
@@ -20,7 +20,7 @@
#include <memory>
#include <roaring/roaring.hh>
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include "storage/index/inverted/similarity/collection_statistics.h"
namespace doris::segment_v2 {
@@ -20,7 +20,7 @@
#include <memory>
#include <roaring/roaring.hh>
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include "storage/index/inverted/query_v2/weight.h"
namespace doris::segment_v2::inverted_index::query_v2 {
@@ -26,7 +26,7 @@
#include <string>
#include <vector>
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include "storage/index/inverted/query_v2/weight.h"
namespace doris::segment_v2::inverted_index::query_v2 {
@@ -21,7 +21,7 @@
#include <utility>
#include "roaring/roaring.hh"
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include "storage/index/inverted/query_v2/bit_set_query/bit_set_scorer.h"
#include "storage/index/inverted/query_v2/scorer.h"
+1 -1
View File
@@ -77,12 +77,12 @@
#include "runtime/thread_context.h"
#include "service/backend_options.h"
#include "storage/binlog.h"
#include "storage/compaction/collection_similarity.h"
#include "storage/id_manager.h"
#include "storage/index/ann/ann_index.h"
#include "storage/index/ann/ann_index_iterator.h"
#include "storage/index/ann/ann_index_reader.h"
#include "storage/index/ann/ann_topn_runtime.h"
#include "storage/index/collection_similarity.h"
#include "storage/index/index_file_reader.h"
#include "storage/index/index_iterator.h"
#include "storage/index/index_query_context.h"
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include <gtest/gtest.h>
@@ -643,7 +643,7 @@ TEST_F(CollectionSimilarityTest, LargeDataSparseBitmapTest) {
for (size_t i = 0; i < NUM_SCORED_ROWS; ++i) {
float score = static_cast<float>(i + 1) / static_cast<float>(NUM_SCORED_ROWS);
similarity->collect(static_cast<uint32_t>(i * 100), score); // 稀疏分布
similarity->collect(static_cast<uint32_t>(i * 100), score);
}
std::vector<uint32_t> all_ids;
@@ -763,4 +763,4 @@ TEST_F(CollectionSimilarityTest, LargeDataBoundaryThresholdTest) {
}
}
} // namespace doris
} // namespace doris
@@ -29,7 +29,7 @@
#include "io/fs/local_file_system.h"
#include "runtime/exec_env.h"
#include "runtime/runtime_state.h"
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include "storage/index/index_file_reader.h"
#include "storage/index/inverted/analyzer/analyzer.h"
#include "storage/index/inverted/analyzer/analyzer_provider.h"
@@ -23,7 +23,7 @@
#include "io/fs/local_file_system.h"
#include "runtime/exec_env.h"
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include "storage/index/index_file_reader.h"
#include "storage/index/index_file_writer.h"
#include "storage/index/inverted/inverted_index_cache.h"
@@ -22,7 +22,7 @@
#include <memory>
#include "common/be_mock_util.h"
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include "storage/index/index_query_context.h"
#include "storage/index/inverted/similarity/similarity.h"
#include "storage/index/inverted/util/mock_iterator.h"
@@ -276,4 +276,4 @@ TEST_F(QueryHelperTest, CollectMixedScenario) {
ASSERT_TRUE(_context->collection_similarity->_bm25_scores.count(1002) > 0);
ASSERT_TRUE(_context->collection_similarity->_bm25_scores.count(2000) > 0);
ASSERT_TRUE(_context->collection_similarity->_bm25_scores.count(2001) > 0);
}
}
@@ -31,7 +31,7 @@
#include "io/fs/local_file_system.h"
#include "runtime/exec_env.h"
#include "runtime/runtime_state.h"
#include "storage/compaction/collection_similarity.h"
#include "storage/index/collection_similarity.h"
#include "storage/index/index_file_reader.h"
#include "storage/index/index_query_context.h"
#include "storage/index/inverted/analyzer/custom_analyzer.h"