Skip to content

Commit 3bd19ef

Browse files
Dependencies: Update elasticsearch, ... from 8.12.2 to 8.13.0 (#673)
1 parent b04a286 commit 3bd19ef

File tree

9 files changed

+30
-27
lines changed

9 files changed

+30
-27
lines changed

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Global / scalaVersion := "3.3.3"
66
Global / scalacOptions += "-explain"
77

88
lazy val CirceVersion = "0.14.6"
9-
lazy val ElasticsearchVersion = "8.12.2"
9+
lazy val ElasticsearchVersion = "8.13.0"
1010
lazy val Elastic4sVersion = "8.11.5"
1111
lazy val ElastiknnVersion = IO.read(file("version")).strip()
1212
lazy val LuceneVersion = "9.9.1"

development/README.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,18 @@ This makes it relatively easy to run tests, generate docs, publish artifacts, et
5757

5858
### IDE
5959

60-
I recommend using IntelliJ Idea to work on the Gradle projects and Pycharm to work on the client-python project.
61-
62-
Install the IntelliJ Scala plugin, and then IntelliJ will recognize the SBT project when you open the `elastiknn` directory.
63-
64-
PyCharm can be a bit of a different story.
65-
You should first create a virtual environment in `client-python/venv`.
66-
You can do this by running `task pyVenv`. Even if the tests fail, it will still create the virtual environment.
67-
Then you should setup PyCharm to use the interpreter in `client-python/venv`.
60+
I recommend using IntelliJ Idea to work on the SBT projects and Pycharm to work on the client-python project.
61+
62+
For IntelliJ, install the IntelliJ Scala plugin and open the `elastiknn` directory in IntelliJ.
63+
IntelliJ should recognize the SBT project.
64+
You might have to specify the JDK and Scala SDK; as of April 2024, we're using JDK 21 and Scala 3.3.3.
65+
Since early 2023, we're also using some experimental JDK features which also require some additional settings.
66+
Go to Settings > Build, Execution, Deployment > Java Compiler, and add `--add-modules jdk.incubator.vector --add-exports java.base/jdk.internal.vm.vector=ALL-UNNAMED --add-exports java.base/jdk.internal.vm.annotation=ALL-UNNAMED` to the "Additional command line parameters".
67+
Then go to Settings > Build, Execution, Deployment > Scala Compiler, and add the same parameters in the "Additional compiler options".
68+
69+
For Python and Pycharm, you should first create a virtual environment in `client-python/venv`.
70+
You can do this by running `task pyCreateVenv`.
71+
Then you should configure PyCharm to use the interpreter in `client-python/venv`.
6872

6973
### Testing
7074

docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
FROM docker.elastic.co/elasticsearch/elasticsearch:8.12.2
1+
FROM docker.elastic.co/elasticsearch/elasticsearch:8.13.0
22
COPY elastiknn-plugin/target/elastiknn*.zip .
33
RUN elasticsearch-plugin install -b file:$(ls elastiknn*zip | sort | tail -n1)

docs/pages/installation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ Make a Dockerfile like below.
4242
The image version (`elasticsearch:A.B.C`) must match the plugin's version (e.g. `A.B.C.x/elastiknn-A.B.C.x`).
4343

4444
```docker
45-
FROM docker.elastic.co/elasticsearch/elasticsearch:8.12.2
46-
RUN elasticsearch-plugin install --batch https://github.com/alexklibisz/elastiknn/releases/download/8.12.2.1/elastiknn-8.12.2.1.zip
45+
FROM docker.elastic.co/elasticsearch/elasticsearch:8.13.0
46+
RUN elasticsearch-plugin install --batch https://github.com/alexklibisz/elastiknn/releases/download/8.13.0.0/elastiknn-8.13.0.0.zip
4747
```
4848

4949
Build and run the Dockerfile. If you have any issues please refer to the [official docs.](https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html)

docs/pages/performance/fashion-mnist/plot.b64

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
-82 Bytes
Loading
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
|Model|Parameters|Recall|Queries per Second|
22
|---|---|---|---|
3-
|eknn-l2lsh|L=100 k=4 w=1024 candidates=500 probes=0|0.379|392.939|
4-
|eknn-l2lsh|L=100 k=4 w=1024 candidates=1000 probes=0|0.447|334.503|
5-
|eknn-l2lsh|L=100 k=4 w=1024 candidates=500 probes=3|0.635|308.154|
6-
|eknn-l2lsh|L=100 k=4 w=1024 candidates=1000 probes=3|0.717|270.359|
7-
|eknn-l2lsh|L=100 k=4 w=2048 candidates=500 probes=0|0.767|347.401|
8-
|eknn-l2lsh|L=100 k=4 w=2048 candidates=1000 probes=0|0.847|296.976|
9-
|eknn-l2lsh|L=100 k=4 w=2048 candidates=500 probes=3|0.922|238.273|
10-
|eknn-l2lsh|L=100 k=4 w=2048 candidates=1000 probes=3|0.960|210.018|
3+
|eknn-l2lsh|L=100 k=4 w=1024 candidates=500 probes=0|0.378|383.334|
4+
|eknn-l2lsh|L=100 k=4 w=1024 candidates=1000 probes=0|0.446|324.105|
5+
|eknn-l2lsh|L=100 k=4 w=1024 candidates=500 probes=3|0.635|304.168|
6+
|eknn-l2lsh|L=100 k=4 w=1024 candidates=1000 probes=3|0.716|262.273|
7+
|eknn-l2lsh|L=100 k=4 w=2048 candidates=500 probes=0|0.767|339.240|
8+
|eknn-l2lsh|L=100 k=4 w=2048 candidates=1000 probes=0|0.847|291.800|
9+
|eknn-l2lsh|L=100 k=4 w=2048 candidates=500 probes=3|0.921|232.473|
10+
|eknn-l2lsh|L=100 k=4 w=2048 candidates=1000 probes=3|0.960|206.758|

elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/query/ElasticsearchQueryBuilder.scala

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ package com.klibisz.elastiknn.query
22

33
import com.google.common.io.BaseEncoding
44
import com.klibisz.elastiknn.ElastiknnException.ElastiknnRuntimeException
5-
import com.klibisz.elastiknn.api._
5+
import com.klibisz.elastiknn.api.*
66
import com.klibisz.elastiknn.{ELASTIKNN_NAME, api}
77
import org.apache.lucene.search.Query
88
import org.elasticsearch.action.ActionListener
9-
import org.elasticsearch.action.get.{GetAction, GetRequest, GetResponse}
9+
import org.elasticsearch.action.get.{GetRequest, GetResponse}
1010
import org.elasticsearch.client.internal.Client
1111
import org.elasticsearch.common.io.stream.{StreamInput, StreamOutput, Writeable}
12-
import org.elasticsearch.index.query._
12+
import org.elasticsearch.index.query.*
1313
import org.elasticsearch.xcontent.{ToXContent, XContentBuilder, XContentParser}
1414
import org.elasticsearch.{ElasticsearchException, ResourceNotFoundException, TransportVersion, TransportVersions}
1515

@@ -124,8 +124,7 @@ final class ElasticsearchQueryBuilder(val query: NearestNeighborsQuery, elastikn
124124

125125
// Request the actual document in order to construct the query
126126
c.registerAsyncAction((client: Client, listener: ActionListener[_]) => {
127-
client.execute(
128-
GetAction.INSTANCE,
127+
client.get(
129128
new GetRequest(ixv.index, ixv.id),
130129
new ActionListener[GetResponse] {
131130
override def onResponse(response: GetResponse): Unit = {

version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.12.2.1
1+
8.13.0.0

0 commit comments

Comments
 (0)