But it comes with continued challenges if I understand:
- Panama is an incubating API and Java has taken its time having an official way of using SIMD. It could all change in Java 22
- It only works on Java 20, with a very specific set of flags passed to the JVM. It’ll take time for this change to make it into Elasticsearch and Solr
- Panama itself is a weird and very low level API.
- Lucene organizes the HNSW vector index graph alongside its inverted index segments. And these need to be merged/compacted periodically. Merging HNSW graphs, as I understand it, is computationally difficult as the graph gets rebuilt.