Skip to content

Conversation

@benwtrent
Copy link
Member

@benwtrent benwtrent commented Jan 30, 2026

Adds new ES formats that build on the Lucene formats.

This adds scorers & scorer suppliers.

@benwtrent benwtrent requested a review from thecoop January 30, 2026 17:12
@elasticsearchmachine elasticsearchmachine added the Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch label Jan 30, 2026
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-search-relevance (Team:Search Relevance)

@benwtrent
Copy link
Member Author

Here is the difference in recall/etc.

this PR (1, 2, 4, 7) bits, all using the new format

ndex_name                      index_type  visit_percentage(%)  latency(ms)  net_cpu_time(ms)  avg_cpu_count      QPS  recall  visited  filter_selectivity  filter_cached  oversampling_factor  num_candidates  early_termination
------------------------------  ----------  -------------------  -----------  ----------------  -------------  -------  ------  -------  ------------------  -------------  -------------------  --------------  -----------------
cohere-wikipedia-docs-768d.vec        hnsw                0.000         0.43              0.00           0.00  2325.58    0.67  4103.22                1.00           true                 0.00             250              false
cohere-wikipedia-docs-768d.vec        hnsw                0.000         0.59              0.00           0.00  1694.92    0.79  3889.48                1.00           true                 0.00             250              false
cohere-wikipedia-docs-768d.vec        hnsw                0.000         0.68              0.00           0.00  1470.59    0.90  3796.08                1.00           true                 0.00             250              false
cohere-wikipedia-docs-768d.vec        hnsw                0.000         1.08              0.00           0.00   925.93    0.94  3812.40                1.00           true                 0.00             250              false

baseline: (1, 4, 7)

index_name                      index_type  visit_percentage(%)  latency(ms)  net_cpu_time(ms)  avg_cpu_count      QPS  recall  visited  filter_selectivity  filter_cached  oversampling_factor  num_candidates  early_termination
------------------------------  ----------  -------------------  -----------  ----------------  -------------  -------  ------  -------  ------------------  -------------  -------------------  --------------  -----------------
cohere-wikipedia-docs-768d.vec        hnsw                0.000         0.41              0.00           0.00  2439.02    0.67  4085.27                1.00           true                 0.00             250              false
cohere-wikipedia-docs-768d.vec        hnsw                0.000         1.69              0.00           0.00   591.72    0.55  4418.59                1.00           true                 0.00             250              false
cohere-wikipedia-docs-768d.vec        hnsw                0.000         0.42              0.00           0.00  2380.95    0.92  3787.26                1.00           true                 0.00             250              false

Obviously, 2, 4 are way better. Single bit might be a little slower. But int7 is significantly slower due to lack of native code support.

Recall is better across the board.

@benwtrent benwtrent changed the title Adds initial pass of the new scalar formats from lucene Adds new formats that use the new scalar formats from lucene Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>non-issue :Search Relevance/Vectors Vector search Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants