JingsongLi opened a new pull request, #8310: URL: https://github.com/apache/paimon/pull/8310
## Summary This PR ports the Java raw fallback behavior for global indexes to Python. It adds `global-index.search-mode` support and lets scalar global index scans and vector search include unindexed row ranges when configured with `full` or `detail` search modes. ## Changes - Add Python `GlobalIndexCoverage` and `global-index.search-mode` (`fast`, `full`, `detail`) with `fast` as the default. - Extend Python `GlobalIndexScanner` with a separate `unindexed_rows` API and merge unindexed rows into scalar scan planning only when index scan succeeds. - Add raw vector search splits and read-side raw vector scoring for Python vector search, including scalar pre-filter handling and partition pruning. - Thread vector builder options into scan/read so raw vector scoring can use configured metrics. - Add tests for scalar global index fallback modes, vector raw split planning, raw vector read merging, partition filtering, and metric selection. ## Testing - `python -m pytest paimon-python/pypaimon/tests/global_index_test.py paimon-python/pypaimon/tests/vector_search_filter_test.py -q` - `python -m pytest paimon-python/pypaimon/tests/range_test.py paimon-python/pypaimon/tests/partition_predicate_test.py paimon-python/pypaimon/tests/vindex_vector_index_test.py -q` - `python -m compileall -q paimon-python/pypaimon/common/options/core_options.py paimon-python/pypaimon/globalindex paimon-python/pypaimon/read paimon-python/pypaimon/table/source` - `git diff --cached --check` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
