OpenSearch 是一个可扩展、灵活且可拓展的开源软件套件,用于搜索、分析和可观测性应用程序,采用 Apache 2.0 许可。本笔记本展示了如何使用与OpenSearch是基于Apache Lucene的分布式搜索和分析引擎。
OpenSearch 数据库相关的功能。
要运行,您应该有一个正在运行的 OpenSearch 实例:查看简单的 Docker 安装指南。
similarity_search 默认执行近似 k-NN 搜索,该搜索使用多种算法中的一种,如 lucene、nmslib、faiss,适用于大型数据集。为了执行暴力搜索,我们有其他称为脚本评分和 Painless 脚本的搜索方法。请查看 此链接 了解更多详情。
安装
安装 Python 客户端。OpenAIEmbeddings,因此需要获取 OpenAI API 密钥。
使用近似 k-NN 进行 similarity_search
使用自定义参数进行Approximate k-NN 搜索的 similarity_search
使用脚本评分进行 similarity_search
使用自定义参数进行Script Scoring 的 similarity_search
使用 Painless 脚本进行 similarity_search
使用自定义参数进行Painless Scripting 的 similarity_search
最大边际相关性搜索 (MMR)
如果您想查找一些相似文档,但也希望获得多样化的结果,那么 MMR 是您应该考虑的方法。最大边际相关性优化了与查询的相似度以及所选文档之间的多样性。使用现有的 OpenSearch 实例
也可以使用具有现成向量的现有 OpenSearch 实例。使用 AOSS (Amazon OpenSearch Service serverless)
这是使用faiss 引擎和 efficient_filter 的 AOSS 示例。
我们需要安装几个 python 包。
使用 AOS (Amazon OpenSearch Service)
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

