OpenSearchDocumentStore
一个用于在 OpenSearch 中存储和检索的 Document Store。
OpenSearch 是一个完全开源的搜索和分析引擎,可用于日志分析、实时应用程序监控和点击流分析等用例。有关更多信息,请参阅 OpenSearch 文档。
如果您想评估不同检索选项(密集 vs. 稀疏)的性能,此 Document Store 非常有用。它与 Amazon OpenSearch Service 兼容。
OpenSearch 支持向量相似性比较和近似最近邻算法。
初始化
安装并运行 OpenSearch 实例。
如果您已设置 Docker,我们建议拉取 Docker 镜像并运行它。
docker pull opensearchproject/opensearch:2.11.0
docker run -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms1024m -Xmx1024m" opensearchproject/opensearch:2.11.0
或者,您可以访问 OpenSearch 集成 GitHub 并使用提供的文件启动一个运行 OpenSearch 的 Docker 容器。docker-compose.yml:
docker compose up
成功运行 OpenSearch 实例后,安装opensearch-haystack 集成。
pip install opensearch-haystack
然后,初始化一个连接到 OpenSearch 实例并将文档写入其中的OpenSearchDocumentStore 对象。
from haystack_integrations.document_stores.opensearch import OpenSearchDocumentStore
from haystack import Document
document_store = OpenSearchDocumentStore(hosts="https://:9200", use_ssl=True,
verify_certs=False, http_auth=("admin", "admin"))
document_store.write_documents([
Document(content="This is first"),
Document(content="This is second")
])
print(document_store.count_documents())
支持的 Retrievers
OpenSearchBM25Retriever:一个基于关键词的 Retriever,用于从 Document Store 中检索与查询匹配的文档。
OpenSearchEmbeddingRetriever:比较查询和文档的嵌入,并检索与查询最相关的文档。
其他参考资料
更新于 大约 1 年前
