text: Content: foo, Metadata: {'page': 4}, Score: 5.159960813797904e-15Now we make the same query call but we filter for only page = 1 results_with_scores = db.similarity_search_with_score("foo", filter=dict(page=1))for doc, score in results_with_scores:    print(f"Content: {doc.page_content}, Metadata: {doc.metadata}, Score: {score}")    Content: foo, Metadata: {'page': 1}, Score: 5.159960813797904e-15    Content: bar, Metadata: {'page': 1}, Score: 0.3131446838378906Same thing can be done with the max_marginal_relevance_search as well.results = db.max_marginal_relevance_search("foo", filter=dict(page=1))for doc in results:    print(f"Content: {doc.page_content}, Metadata: {doc.metadata}")    Content: foo, Metadata: {'page': 1}    Content: bar, Metadata: {'page': 1}Here is an example of how to set fetch_k parameter when calling similarity_search. Usually you would want the fetch_k parameter >> k parameter. This is because the fetch_k parameter is the number of documents that will be fetched before filtering. If you set fetch_k to a low number, you might not get enough documents to filter from.results = db.similarity_search("foo", filter=dict(page=1), k=1, fetch_k=4)for doc in results:    print(f"Content: {doc.page_content}, Metadata: {doc.metadata}")    Content: foo, Metadata: {'page': 1}PreviousElasticSearchNextHologresSimilarity Search with scoreSaving and loadingMergingSimilarity Search with