diff --git a/integrations/chroma/src/haystack_integrations/document_stores/chroma/filters.py b/integrations/chroma/src/haystack_integrations/document_stores/chroma/filters.py index ef5c920a7..60046b6ad 100644 --- a/integrations/chroma/src/haystack_integrations/document_stores/chroma/filters.py +++ b/integrations/chroma/src/haystack_integrations/document_stores/chroma/filters.py @@ -27,7 +27,7 @@ class ChromaFilter: """ Dataclass to store the converted filter structure used in Chroma queries. - Following filter criterias are supported: + Following filter criteria are supported: - `ids`: A list of document IDs to filter by in Chroma collection. - `where`: A dictionary of metadata filters applied to the documents. - `where_document`: A dictionary of content-based filters applied to the documents' content. diff --git a/integrations/chroma/tests/test_document_store.py b/integrations/chroma/tests/test_document_store.py index f386b44ba..987f6d8b7 100644 --- a/integrations/chroma/tests/test_document_store.py +++ b/integrations/chroma/tests/test_document_store.py @@ -283,6 +283,7 @@ def test_contains(self, document_store: ChromaDocumentStore, filterable_docs: Li ) def test_multiple_contains(self, document_store: ChromaDocumentStore, filterable_docs: List[Document]): + filterable_docs = [doc for doc in filterable_docs if doc.content] # remove documents without content document_store.write_documents(filterable_docs) filters = { "operator": "OR", @@ -342,25 +343,6 @@ def test_nested_logical_filters(self, document_store: ChromaDocumentStore, filte ], ) - # Override inequality tests from FilterDocumentsTest - # because chroma doesn't return documents with absent meta fields - - def test_comparison_not_equal(self, document_store, filterable_docs): - """Test filter_documents() with != comparator""" - document_store.write_documents(filterable_docs) - result = document_store.filter_documents({"field": "meta.number", "operator": "!=", "value": 100}) - self.assert_documents_are_equal( - result, [d for d in filterable_docs if "number" in d.meta and d.meta.get("number") != 100] - ) - - def test_comparison_not_in(self, document_store, filterable_docs): - """Test filter_documents() with 'not in' comparator""" - document_store.write_documents(filterable_docs) - result = document_store.filter_documents({"field": "meta.number", "operator": "not in", "value": [2, 9]}) - self.assert_documents_are_equal( - result, [d for d in filterable_docs if "number" in d.meta and d.meta.get("number") not in [2, 9]] - ) - @pytest.mark.skip(reason="Filter on dataframe contents is not supported.") def test_comparison_equal_with_dataframe( self, document_store: ChromaDocumentStore, filterable_docs: List[Document]