-
Notifications
You must be signed in to change notification settings - Fork 24.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to lucene-9.5.0-snapshot-d19c3e2e0ed #92957
Upgrade to lucene-9.5.0-snapshot-d19c3e2e0ed #92957
Conversation
9.5 will include several changes related to vector search. An extensive list is available at https://github.com/apache/lucene/milestone/4 .
Documentation preview: |
Pinging @elastic/es-search (Team:Search) |
Hi @javanna, I've created a changelog YAML for you. |
@romseygeek there's a couple of changes that you may be familiar with: @benwtrent could you double check the vector search related changes? Is there more? |
Hello @javanna, Thanks for working on this. With this new snapshot you will need to remove the following test: elasticsearch/libs/h3/src/test/java/org/elasticsearch/h3/ParentChildNavigationTests.java Line 144 in 6047c81
and adjust the loop in the test above. Thanks! |
In order to reduce noise on nightly investigations, I'd be tempted to disable the Panama-based MMapDirectory at first and enable it in a few days in order to be able to distinguish the impact from this directory (which could affect every single query since it touches the Directory) from other changes by adding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. We will want to move things over to using the non-deprecated storedFields()
methods at some point but I don't think that's necessary immediately, and it may require a bit of re-working in any case.
@jpountz That seems reasonable. We want to eventually use the new Panama implementation, but as a first step and to better isolate the changes in the upgrade, disabling through the system property initially seems reasonable. We can then remove the system property a few days later (so as to then enable the Panama implementation). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The vector changes are much more broad than this. Everywhere we call getVectorValues
needs to handle the getByteVectorValues
case in addition to the changes I mentioned in the review.
server/src/main/java/org/elasticsearch/index/mapper/vectors/DenseVectorFieldMapper.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/elasticsearch/index/mapper/vectors/VectorDVLeafFieldData.java
Outdated
Show resolved
Hide resolved
…elasticsearch into enhancement/lucene_9_5_snapshot
...er/src/test/java/org/elasticsearch/search/vectors/AbstractKnnVectorQueryBuilderTestCase.java
Outdated
Show resolved
Hide resolved
...er/src/test/java/org/elasticsearch/search/vectors/AbstractKnnVectorQueryBuilderTestCase.java
Outdated
Show resolved
Hide resolved
public void testUnknownField() throws IOException { | ||
// Test isn't relevant, since query is never parsed from xContent | ||
DenseVectorFieldMapper.ElementType elementType() { | ||
return DenseVectorFieldMapper.ElementType.FLOAT; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
libs/x-content/src/main/java/org/elasticsearch/xcontent/XContentBuilder.java
Outdated
Show resolved
Hide resolved
…elasticsearch into enhancement/lucene_9_5_snapshot
...c/main/java/org/elasticsearch/xpack/core/security/authz/accesscontrol/FieldSubsetReader.java
Show resolved
Hide resolved
@romseygeek could you check the HighlighterWithAnalyzersTests » testPhrasePrefix failure? Does it look familiar? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving the changes on the H3 library
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The highlighting failure is due to the fact that we don't rewrite queries in the unified highlighter any more, and MatchPhrasePrefixQuery in ES doesn't implement QueryVisitor and was relying on the rewrite to work properly. It's only an issue in ES. I'm working on a fix. |
Thanks all for the collaboration, tests are green, we are good to go! |
When we upgraded to lucene 9.5 (snapshot) with elastic#92957 we initially disable panama-based mmap directory through a system property. With this commit we remove the system property and enable java 19 memory segments by default (based on apache/lucene#12033)
When we upgraded to lucene 9.5 (snapshot) with #92957 we initially disable panama-based mmap directory through a system property. With this commit we remove the system property and enable java 19 memory segments by default (based on apache/lucene#12033)
9.5 will include several changes related to vector search. An extensive list is available at https://github.com/apache/lucene/milestone/4 .