Docs 菜单
Docs 主页
/ /

提高准确性

要提高搜索结果的准确性,您可以使用MongoDB搜索对以下功能的支持。

MongoDB Search 根据相关性为结果设立的每个文档分配一个分数,并按从最高分到最低分的顺序返回结果。要学习;了解详情,请参阅 对结果中的文档进行评分。

当您运行MongoDB Search查询时,您可以调整结果中文档的相关性,以确保最相关的文档在结果中排名靠前并返回。

如要了解详情,请参阅如何自定义结果中文档的分数

混合搜索结合了全文搜索和语义搜索,以确保在同一查询的相同条件下,组合搜索结果中包含同义词和上下文相似的匹配项。

混合搜索可用于以下场景:

  • 使用MongoDB Search(全文搜索)来处理关键字查询,并通过测量关键字在文档中以及集合中的文档中出现的频率,根据相关性对文档进行排名。

  • 使用MongoDB Vector Search(语义搜索)检索语义相似的文档。

  • 将两种搜索方法的分数结合起来,以检索更准确、更相关的结果。

如要了解更多信息,请参阅如何执行混合搜索

同义词搜索确保您的查询结果包含相关结果,即使您搜索的文档中不包含确切的关键词。

执行同义词搜索时,可以使用在查询时创建和应用的索引和应用的同义词映射集合。

要学习;了解更多信息,请参阅在MongoDB搜索索引中定义同义词映射。

MongoDB explain 提供有关查询执行方式及某些文档为何优先返回的信息。

在您的查询中使用 explain 的原因如下:

  • 了解MongoDB搜索如何计算搜索查询的分数,以及影响结果中文档相关性的因素。

  • 根据搜索和排名的性能,改进您的索引和查询。

要学习;了解详情,请参阅如何检索查询计划和执行统计信息。

您可以调整MongoDB Search 中的相关性,以确保MongoDB Search查询结果中返回更相关的文档。请考虑以下因素来优化MongoDB搜索结果的相关性。

如要构建和格式化您的数据以返回最佳搜索结果:

  • 查看文档的模式以确定要索引的字段。对于多态数据, MongoDB Search 仅索引与该字段的索引定义中指定的映射相对应的文档,并忽略包含不属于该字段的索引定义中指定的数据类型的值的文档。要学习;了解有关支持的字段类型和字段映射的更多信息,请参阅定义字段映射。

  • 如有需要,请将数据标准化,以确保过滤和排序中使用的字段保持一致性。例如,将日期和时间值转换为标准格式,例如 ISO-8601。

  • 分析关键字段中常用术语的频率,以确定要应用的分析器和分词策略。示例,某些术语可能需要特殊处理,例如词干提取或同义词映射。要学习;了解有关使用MongoDB Search 分析器为数据创建词元的更多信息,请参阅使用分析器处理数据。

  • 分析数据量并规划扩展。大型数据集可能需要战略性地进行索引和分区。

要配置MongoDB Search索引以返回最佳搜索结果,请执行以下操作:

  • 为要索引的每个字段选择适当的分析器。分析器将筛选器与分词器相结合,创建可索引术语,从而纠正标点符号、大小写、填充词等方面的差异。您可以选择内置分析器或构建自定义分析器。要学习;了解更多信息,请参阅使用分析器处理数据。

  • 创建源同义词集合并定义引用MongoDB搜索索引中同义词源集合的同义词映射。您可以使用同义词来扩大搜索范围并在结果中返回相关术语。要学习;了解更多信息,请参阅在MongoDB搜索索引中定义同义词映射。

如要构建查询以获得最佳结果:

  • 选择合适的聚合管道阶段。例如,如果您只想检索元数据,请使用 $searchMeta。如要了解更多信息,请参阅管道阶段。

  • 选择最适合检索相关结果的操作符。例如,如果您想在查询中组合使用多个子句(如 mustshouldmustnot),请考虑使用复合操作符。要了解更多信息,请参阅操作符和收集器

  • 使用MongoDB搜索对排序评分分组等的支持,对搜索结果应用更多进程。

如要完成这些教程,您必须具备以下条件:

  • MongoDB版本为 6.0 或更高版本的Atlas 集群,或者MongoDB版本为 8.2 或更高版本的MongoDB自管理集群。

  • 示例数据已加载到集群中。

  • Project Data Access Admin 或更高项目访问权限,以创建MongoDB搜索索引。

  • 搜索测试器mongoshCompass 或支持的 MongoDB 驱动程序在集群上运行查询。

注意

您可以使用任何驱动程序在 $search 聚合阶段运行 MongoDB 搜索查询。这些教程包括精选客户端的示例。有关详细信息,请参阅特定教程页面。

您还可以通过使用Atlas CLI创建的本地部署或本地部署来完成这些教程。要学习;了解更多信息,请参阅创建本地Atlas部署自托管部署

后退

搜索 Playground

在此页面上