Hey, figured I'd bring this back up instead of making a new thread. @Logan M I was playing with LanceDB and was trying to get filtering to work:
https://github.com/run-llama/llama_index/blob/5e01f9c60c1516df35170fa45f36a848dd82353e/llama-index-core/llama_index/core/vector_stores/types.py#L86Even using "pure lancedb" to try and filter on a vectorstore created by LlamaIndex fails as well:
https://lancedb.github.io/lancedb/sql/#filtering-without-vector-searchBut it seems the way the vector store is constructed is it dumps all the metadata into a new column, and then lancedb can't query it as it excepts a flat column (not a json value). I followed (and updated to use the latest llamaindex lib) this example:
https://docs.llamaindex.ai/en/stable/examples/vector_stores/postgres/#apply-metadata-filters which I bet works fine for postgres still.
On a related topic, would it be "easy" to add native hybrid integration, like pinecone
(vector_store_query_mode="hybrid")
? LanceDB support FTS with Tantivy...not sure if there's any performance benefits to doing it on the llamaindex side, or just construct it with a fusion retriever:
https://lancedb.github.io/lancedb/fts/