Skip to content

Refactor VectorSimilarityType to know about its corresponding Function#139678

Merged
thecoop merged 3 commits intoelastic:mainfrom
thecoop:vectorsimilaritytype-function
Dec 18, 2025
Merged

Refactor VectorSimilarityType to know about its corresponding Function#139678
thecoop merged 3 commits intoelastic:mainfrom
thecoop:vectorsimilaritytype-function

Conversation

@thecoop
Copy link
Member

@thecoop thecoop commented Dec 17, 2025

Remove the duplicated of method so that each Type knows about its corresponding Function

@elasticsearchmachine elasticsearchmachine added Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch v9.3.0 labels Dec 17, 2025
@elasticsearchmachine
Copy link
Collaborator

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

@thecoop
Copy link
Member Author

thecoop commented Dec 17, 2025

@ChrisHegarty is there a reason we dont use VectorSimilarityFunction directly here?

Copy link
Member

@davidkyle davidkyle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ChrisHegarty
Copy link
Contributor

@ChrisHegarty is there a reason we dont use VectorSimilarityFunction directly here?

In the beginning, simdvec did not depend upon Lucene so we had a separate way to identify the similarity type. Equally, Lucene's VectorSimilarityFunction is overloaded with on-heap comparison methods, which in some context don't make much sense. Given where things are now, I'm ok to refactor to simplify as you see fit.

@thecoop thecoop force-pushed the vectorsimilaritytype-function branch from adc0d68 to 25146e4 Compare December 18, 2025 11:57
@thecoop thecoop merged commit 4b315bc into elastic:main Dec 18, 2025
35 checks passed
@thecoop thecoop deleted the vectorsimilaritytype-function branch December 18, 2025 15:26
szybia added a commit to szybia/elasticsearch that referenced this pull request Dec 19, 2025
* upstream/main: (253 commits)
  Adds ST_SIMPLIFY geo spatial function (elastic#136309)
  Take control of max clause count verification in Lucene searcher (elastic#139752)
  [ML] Unmute Inference Test (elastic#139765)
  Parameterize the vector operation benchmark tests (elastic#139735)
  Fix node reduction pushdown tests for release tests (elastic#139548)
  Fix flakiness in TSDataGenerationHelper (elastic#139759)
  CPS: Copy existing resolved index expressions when constructing a new `SearchRequest` from an existing one (elastic#139596)
  Add release notes for v9.1.9 release (elastic#139674)
  Add lucene query for wildcards on high cardinality keyword fields. (elastic#139746)
  Suppress Tika entitlement warnings from AWT (elastic#139711)
  Check field storage when synthetic source is enabled, in tests (elastic#139715)
  Refactor VectorSimilarityType to know about its corresponding Function (elastic#139678)
  Merge fixes from patch branch back into main (elastic#139721)
  Define native bulk operations for vector square distance (elastic#139198)
  Use LongUpDownCounter for Linked Project Error Metrics (elastic#139657)
  ESQL: Add javadoc that explains version-aware planning (elastic#139706)
  Add helper to pick node for reindex relocation (elastic#139081)
  Fix auth serialization randomized version test (elastic#139182)
  ES|QL - Add parsing, preanalysis and analysis timing information to profile (elastic#139540)
  Mute org.elasticsearch.persistent.ClusterPersistentTasksCustomMetadataTests testMinVersionSerialization elastic#139741
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>refactoring :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.

4 participants