text: Document(page_content='bar', metadata={})}Similarity Search with filteringâ€‹FAISS vectorstore can also support filtering, since the FAISS does not natively support filtering we have to do it manually. This is done by first fetching more results than k and then filtering them. You can filter the documents based on metadata. You can also set the fetch_k parameter when calling any search method to set how many documents you want to fetch before filtering. Here is a small example:from langchain.schema import Documentlist_of_documents = [    Document(page_content="foo", metadata=dict(page=1)),    Document(page_content="bar", metadata=dict(page=1)),    Document(page_content="foo", metadata=dict(page=2)),    Document(page_content="barbar", metadata=dict(page=2)),    Document(page_content="foo", metadata=dict(page=3)),    Document(page_content="bar burr", metadata=dict(page=3)),    Document(page_content="foo", metadata=dict(page=4)),    Document(page_content="bar bruh", metadata=dict(page=4)),]db = FAISS.from_documents(list_of_documents, embeddings)results_with_scores = db.similarity_search_with_score("foo")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: foo, Metadata: {'page': 2}, Score: 5.159960813797904e-15    Content: foo, Metadata: {'page': 3}, Score: 5.159960813797904e-15    Content: foo, Metadata: {'page': 4}, Score: