Hi, I am using Opensearch KNN query as indicated here
We have around 3M docs and each doc has one embedding of 1024 dimension. We are using 5 datanodes which are r6g.xlarge instance
I have following questions based on usage
- I first tried with Lucene as the engine for KNN and noticed that the requests were still having high latency around 4s - 7s and majority of the time was spent in rewritting operation as seen by profile api. Also, graph_memory_usage was always 0. So does it mean that lucene does not load graph native libs in memory ?
- Then I switched to using nmslib as the engine and saw great performance improvement around ~1s when the graph is loaded in memory. Our current graph memory usage is at 80% on each node. Is this normal ?
- How often is the graph stored in memory ? Is it one time operation or does it get evicted after a while ? Since I do notice cold starts when there is no activity for a while
- Among nmslib vs Faiss which one to use ? Does Opensearch v2.5 support Faiss ?