- Issue created by @scott_euser
- πΊπΈUnited States keiserjb
I altered the doSearch method to track distinct results. It seems to work for me, but I don't understand the implications of what I've done.
At the moment if you follow the code in Drupal\ai_search\Plugin\search_api\backend\SearchApiAiSearchBackend::$maxAccessRetries
, we re-attempt up to 10 times to get a specific count (limit) of results.
For some scenarios like AI Related Content β in a context where large Nodes have been broken into many smaller chunks, even this iteration may not be sufficient, especially if no filter on access is made and subsequent access checks also exclude many nodes (e.g. a more member content driven site).
Improve the iteration by allowing Vector Databases to say they are either:
drupal_long_id
. This seems to just be Milvus (big win for Milvus!)drupal_long_id
. Most VDB Providers (if not all) should be able to support this).So I think some more changes to VDB Provider interfaces probably. For (1) its pre-query change, for (2) its post query condition setting by VDB Provider on recursive ::doSearch() call
N/A
TBD
N/A
Active
2.0
AI Search
I altered the doSearch method to track distinct results. It seems to work for me, but I don't understand the implications of what I've done.