deepset-ai / haystack-core-integrations

Additional packages (components, document stores and the likes) to extend the capabilities of Haystack version 2.0 and onwards
https://haystack.deepset.ai
Apache License 2.0
111 stars 110 forks source link

Full-text MongoDBAtlas Retriever #872

Open caiolang opened 4 months ago

caiolang commented 4 months ago

Hello! Thank you for your work on the Haystack integrations, they rock 🤘

Is your feature request related to a problem? Please describe. For the moment there is only a MongoDBAtlasEmbeddingRetriever available, which blocks hybrid search on Haystack using MongoDB Atlas as a document store backend.

Describe the solution you'd like Ideally, MongoDBAtlasDocumentStore class would be incremented with a _fulltext_retrieval() function (+ additional needed functions/properties) that would be called by a new MongoDBAtlasFullTextRetriever. This would return the results of a search with the standard MongoDB Atlas query API (using $search, as far as I understand).

Describe alternatives you've considered Currently, the alternatives would be (1) to not use hybrid search at all, relying only on semantic search, or (2) hacking together an implementation of a full-text retriever by patching MongoDBAtlasDocumentStore and creating a MongoDBAtlasFullTextRetriever. None of these are ideal.

Additional context N/A

Thanks for your attention reading this, and hope you consider it :)

julian-risch commented 2 months ago

@caiolang Thank you for suggestion this new feature! We won't have capacity to work on it ourselves in the next sprint but I added the issue to our backlog. In the mean time, let's see whether someone in the Haystack community would like to contribute a new MongoDBAtlasFullTextRetriever component and make the required changes to MongoDBAtlasDocumentStore. 🙂