You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem?
Efficient filtering rules of the FAISS implementation for switching to exact KNN search are library-agnostic and improve search results independent of the native FAISS filtering capabilities (especially for highly selective filters). For nmslib these rules would be beneficial as well and make the overall behavior of KNN plugin's search-filter-logic more consistent.
What solution would you like?
Use the same logic as depicted on https://opensearch.org/docs/latest/images/faiss-algorithm.jpg for nmslib when using efficient filtering. The issue that nmslib does not support applying filters natively can be solved by applying simple postfiltering in JNIService.queryIndex:
Postfiltering could be implemented in nmslib's JNI-layer, but I don't see too many benefits of this as we would need another method/interface here
Applying the rules to any ANN queries with filters (not just with efficient filtering syntax): I guess that's harder to implement as the usual postfiltering happens in a later stage of the search (where we do not have access to KNNWeight?). Probably we don't want that for lucene ANN queries, so at least we would need some param to switch it off, which makes it way more complex.
Do you have any additional context?
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem?
Efficient filtering rules of the FAISS implementation for switching to exact KNN search are library-agnostic and improve search results independent of the native FAISS filtering capabilities (especially for highly selective filters). For nmslib these rules would be beneficial as well and make the overall behavior of KNN plugin's search-filter-logic more consistent.
What solution would you like?
Use the same logic as depicted on https://opensearch.org/docs/latest/images/faiss-algorithm.jpg for nmslib when using efficient filtering. The issue that nmslib does not support applying filters natively can be solved by applying simple postfiltering in
JNIService.queryIndex
:k-NN/src/main/java/org/opensearch/knn/jni/JNIService.java
Lines 105 to 107 in 2e3ab95
What alternatives have you considered?
Do you have any additional context?
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: