|
25 | 25 | EMBEDDING_FIELD = "embedding" |
26 | 26 | PAGE_CONTENT_FIELD = ["text", "keywords"] |
27 | 27 | PAGE_CONTENT_FIELD_NESTED = "title.text" |
28 | | -SEARCH_INDEX_NAME = "text_index" |
| 28 | +SEARCH_INDEX_NAME = "text_index_multi" |
29 | 29 | SEARCH_INDEX_NAME_NESTED = "text_index_nested" |
30 | 30 |
|
31 | 31 | TIMEOUT = 60.0 |
|
36 | 36 | def example_documents() -> List[Document]: |
37 | 37 | return [ |
38 | 38 | Document( |
39 | | - page_content="In 2023, I visited Paris", metadata={"keywords": "keyword1"} |
| 39 | + page_content="In 2023, I visited Paris", metadata={"keywords": "MongoDB"} |
40 | 40 | ), |
41 | 41 | Document( |
42 | 42 | page_content="In 2022, I visited New York", |
43 | | - metadata={"keywords": "keyword2"}, |
| 43 | + metadata={"keywords": "Atlas"}, |
44 | 44 | ), |
45 | 45 | Document( |
46 | 46 | page_content="In 2021, I visited New Orleans", |
47 | | - metadata={"keywords": "keyword3"}, |
| 47 | + metadata={"keywords": "Search"}, |
48 | 48 | ), |
49 | 49 | Document( |
50 | 50 | page_content="Sandwiches are beautiful. Sandwiches are fine.", |
51 | | - metadata={"keywords": "keyword4"}, |
| 51 | + metadata={"keywords": "is awesome"}, |
52 | 52 | ), |
53 | 53 | ] |
54 | 54 |
|
@@ -169,16 +169,17 @@ def test_vector_retriever(indexed_vectorstore: PatchedMongoDBAtlasVectorSearch) |
169 | 169 | results = retriever.invoke(query1) |
170 | 170 | assert len(results) == 4 |
171 | 171 | assert "Paris" in results[0].page_content |
172 | | - assert "keyword1" == results[0].metadata["keywords"] |
| 172 | + assert "MongoDB" == results[0].metadata["keywords"] |
173 | 173 |
|
174 | 174 | query2 = "When was the last time I visited new orleans?" |
175 | 175 | results = retriever.invoke(query2) |
176 | 176 | assert "New Orleans" in results[0].page_content |
177 | | - assert "keyword3" == results[0].metadata["keywords"] |
| 177 | + assert "Search" == results[0].metadata["keywords"] |
178 | 178 |
|
179 | 179 |
|
180 | 180 | def test_hybrid_retriever(indexed_vectorstore: PatchedMongoDBAtlasVectorSearch) -> None: |
181 | 181 | """Test basic usage of MongoDBAtlasHybridSearchRetriever""" |
| 182 | + |
182 | 183 | retriever = MongoDBAtlasHybridSearchRetriever( |
183 | 184 | vectorstore=indexed_vectorstore, |
184 | 185 | search_index_name=SEARCH_INDEX_NAME, |
@@ -269,7 +270,10 @@ def test_fulltext_retriever( |
269 | 270 | break |
270 | 271 | sleep(INTERVAL) |
271 | 272 |
|
272 | | - query = "When was the last time I visited new orleans?" |
| 273 | + query = "What is MongoDB" |
273 | 274 | results = retriever.invoke(query) |
274 | | - assert "New Orleans" in results[0].page_content |
| 275 | + print(results) |
| 276 | + print(list(collection.list_search_indexes())) |
| 277 | + # assert "New Orleans" in results[0].page_content |
| 278 | + assert "MongoDB" in results[0].metadata["keywords"] |
275 | 279 | assert "score" in results[0].metadata |
0 commit comments