Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs 菜单
Docs 主页

MongoDB搜索变更日志

  • 新增对 多选分面(Facet)的支持,启用用户能够按同一分面(Facet)中的多个存储桶进行过滤,而无需重新计算该分面(Facet)中其他存储桶的计数。

  • 新增 MongoDB Search 警报和索引字段限制指标,以防止过度索引导致性能下降和 mongot 不稳定:

    To mitigate alerts, consider switching to static mapping, applying the attribute pattern for polymorphic schemas, and auditing nGram or autocomplete usage. To learn more, see Review MongoDB Search Metrics.

  • 通过添加vectorSearch 操作符向量索引类型,添加对向量搜索的词法预过滤器的预览支持。这样,您就可以在执行向量相似度搜索之前,通过分析的文本功能(例如模糊搜索、短语匹配、位置过滤器、通配符模式匹配等)来过滤文档。

  • 对使用 multi 进行索引的 string 字段进行去重的存储费用。

  • 修复了针对高关联基数字段时的 token字段类型问题。

  • 支持使用 returnScope将数组中的对象作为单个文档进行查询、过滤和检索。

    • 添加 hasRoot 操作符,用于在使用 returnScope 时查询根文档字段。

    • 添加 hasAncestor 操作符,用于在使用 returnScope 时查询更高级别或同级别的字段。

    • 支持将嵌套字段存储在对象数组中,使用storedSource进行检索,并使用returnStoredSource进行任何操作符的查询。

  • 添加对使用 typeSets 配置动态索引的支持。要了解更多信息,请参阅配置 typeSet

  • MongoDB 8.0.14 开始,returnStoredSourcescoreDetails 选项必须设立为 truefalse。为这些选项指定 null 的查询将失败。

  • 新增支持在索引 string 字段时指定stableTflboolean 相似算法,如 MongoDB Search stringautocomplete 类型。这些算法在查询时应用,用于计算 MongoDB Search 分数,支持 textphrasequeryStringautocomplete 操作符。了解更多信息,请查看分数详情。

  • 通过始终从基本string字段检索突出显示来改进突出显示加载。

  • 跳过下载超过配置期限阈值的快照。

  • 更新 blobstore 凭证处理以使用新的 refreshDate字段,而不是已弃用的 expirationDate字段。

  • 添加所需的内存使用量指标。

  • 添加了对自定义分析器的新词元过滤类型 keywordRepeatremoveDuplicates 的支持

  • 删除对 snowballStemming 词元过滤器类型中已弃用的 kplovins 词干分析器的支持。

  • 更改 german 词干分析器对变音符号的处理方式,使德语字母 ä、ö 和 ü 分别扩展为 ae、oe 和 ue。

  • german2 词干分析器现已过时。

  • 修复了磁盘已满时导致搜索节点崩溃的问题。

  • 支持短语查询中的同义词。

  • 文本操作符添加对 matchCriteria 字段的支持。

  • 更改了同义词映射失败的索引的行为,令不使用受影响的同义词映射的查询能够成功运行。

  • 修复了在将 searchAftersearchBefore 与搜索节点一起使用时导致一致性问题的错误。

  • 将达到索引对象限制的索引转换为可查询的 STALE 状态。

  • 支持对嵌入式文档中的词元类型进行索引。

  • 支持使用 mongosh 命令或驱动程序辅助工具方法在 M0M2M5 Atlas集群上 创建检索编辑删除 MongoDB 搜索索引。

  • 升级到 Java 21 。

  • 更新所有索引,以支持 numberdate类型的排序选项。

  • 如果您启用动态映射,会自动索引 nullUUID 值,这可能会增加索引的大小。

  • 支持对 ObjectId 类型使用范围操作符排序选项。

  • 支持使用带有布尔值的排序选项。

注意

Atlas will reindex all of your existing MongoDB Search indexes on the Atlas cluster in a rolling manner. The Atlas UI will display alerts that indicate the timing of your reindexing. clusters not using separate search nodes might notice a temporary increase in disk and CPU utilization during reindexing. For clusters using separate search nodes, Atlas will temporarily deploy additional nodes for free for reindexing and there will be no downtime for swapping of indexes when the new index build completes.

  • Makes Search Nodes on Azure generally available for both your development and production deployments.

  • Introduces Search Nodes support for multi-region and multi-cloud clusters as a Preview feature.

  • Search Tester 中引入MongoDB Search Query Templates,这使得使用预先编写的$search 查询(包括 mustshould 等条件子句、用于键入时搜索的 autocomplete)更轻松地进行查询体验、分面等。要学习;了解更多信息,请参阅定义查询。

  • 对MongoDB Search API端点进行更改。要学习;了解更多信息,请参阅 5 月 31 2024 版本的API变更日志。

  • 修复了以下问题:使用 returnStoredSource 时, MongoDB Search 未在结果中包含某些文档的 _id字段。

  • 修复了以下问题: MongoDB Search 在某些 mongod 配置更改后触发虚假初始同步。

  • 在缺少定义版本的情况下重建索引。

  • 修复了当分数并列时MongoDB Search 没有为 searchAftersearchBefore 查询生成结果的问题。

  • 增加了按空值和 UUID 值查询和排序的能力。

  • 修复了以下问题:运行 MongoDB v7.2.0 的分片 Atlas 集群会为包含facet收集器的$searchMeta阶段返回错误。

  • 支持在参考点之后或之前按顺序检索 $search 结果,您可以使用 $meta 关键字 searchSequenceToken 生成的令牌来指定参考点。要了解详情,请参阅对结果进行分页

  • 支持使用 equals in 范围 操作符对索引为 stringsMongoDB Search 令牌 类型的 BSON 执行精确匹配和筛选。

  • 支持在 Atlas 用户界面可视化编辑器中配置自定义分析器

  • 支持在 Atlas 用户界面可视化编辑器中配置令牌类型。

  • 执行系统升级。您可能会注意到一些索引和查询性能变化。

  • 对于在embeddedDocument 操作符中指定的查询谓词,如果字段根据文档类型的父字段进行索引,则支持突出显示这些字段。

  • 在某些使用分片的情况下,初始同步会自动启动。

  • 修复了导致 token 字段映射更改被忽略的错误。

  • 添加排序选项,该选项支持对您在MongoDB Search索引中定义的字段进行升序或降序排序。

    注意

    仅当您运行MongoDB v6.0+ 时,MongoDB搜索排序选项在分片的集群中可用。

  • knnBeta 操作符限制为顶级操作符。

  • 介绍使用 queryString 运算符对 string 字段执行文本、通配符、正则表达式、模糊和范围搜索的功能。

  • 使用 $limit 改进 $search 的性能。

  • 对于在 M10 或更高版本的集群上运行MongoDB 6.0.8 或更高版本的Atlas集群,引入了从 mongoshNodeJS 驱动程序创建和管理MongoDB搜索索引的能力。

    注意

    此发布不允许使用 mongosh 命令或驱动程序辅助工具方法在 M0M2M5 Atlas集群上 创建检索编辑删除 MongoDB 搜索索引。

  • 提供向量搜索预览,以使用MongoDB搜索来存储、索引和查询向量。

  • 添加了对从 M10 或更大集群的云备份快照恢复MongoDB Search 索引的支持。

  • 支持跟踪查询中的搜索术语,并在 M10 或更高版本的 Atlas 集群的 Atlas 用户界面中查看所跟踪搜索术语的查询分析。

  • 添加 in 操作符,该操作符可搜索值数组,并返回字段值等于指定数组中任何值的文档。

  • 分面收集器的 operator 选项更改为可选。facet 您在不使用操作符的情况下指定的查询会遍历所有索引文档。

  • 在Atlas用户界面的MongoDB Search 可视化编辑器配置模式中支持 embeddedDocuments 类型。

  • 升级到MongoDB Search,其中包括:

    除了前面的更改列表之外,您可能会注意到一些索引和查询性能变化。

  • 引入moreLikeThis操作符来检索与一个或多个输入文档相似的文档。

  • 优化内部批处理,在查询匹配大量文档(如 5,000 个或更多)时提高存储源查询的性能。

  • Introduces a new Project Search Index Editor role to create, view, edit, and delete MongoDB Search indexes using the Atlas UI or API.

  • 如果新索引定义无效,则使用上一个有效索引处理查询。

  • 删除专用集群上 BooleanQueryLucene 默认子句限制 1024

    注意

    从 2022 年 8 月到 9 月,我们将扩展对数字日期类型字段的分面支持。您必须在所有索引定义中迁移到 numberFacetdateFacet 类型,以便分别对数字字段和日期字段进行分面。

  • 添加numberFacetdateFacet数据类型,用于分别对数字和日期字段运行分面(Facet)查询。

    注意

    从 2022 年 8 月到 9 月,我们将扩展对数字日期类型字段的分面支持。您必须在所有索引定义中迁移到 numberFacetdateFacet 类型,以便分别对数字字段和日期字段进行分面。

  • 添加反向词元筛选器,用于反转每个字符串词元。

此版本中的自动完成改进:

  • 自动完成的索引定义中添加对分析器的支持。

  • 增强 autocomplete 操作符中的精确匹配。

  • 添加 rightEdgeGram分词器策略,从单词的右侧(而不是左侧)开始创建类似 edgeGram 的词元。

此版本包含的错误修复:

  • 修复objectId突出显示错误。

  • 允许索引进入恢复状态并在遇到某些复制错误后保持可用。

  • 新增对同义词的支持,同义词可在源collection中定义,并通过 Atlas API映射到搜索索引。

  • 添加停用词词元筛选器,用于删除与指定停用词匹配的词元。

  • 支持$search查询的解释

  • 修复了与 ObjectID 相等操作符结合使用时,突出显示会引发错误的问题。

  • 提高初始同步索引的性能。

  • 提高稳定状态索引的性能。

  • 删除重建修改的索引定义时的停机时间要求。

  • 增加了对通配符路径的支持。

  • 添加了一个新的索引选项以排除norms字段,从而允许搜索索引在对搜索结果进行评分时忽略字段长度。

  • tokenOrder 选项 添加到 autocomplete 操作符中,支持搜索查询中的无序术语。

  • 改进了错误消息以利于查询调试,包括消除堆栈跟踪和其他特定于 Java 的消息。

  • 添加对地理空间查询的支持,包括:

    • 一种新的地理数据类型,用于索引地理点和形状坐标。

    • 两个新操作符:geoWithingeoShape,支持对地理空间数据(如点和多边形)的查询。

  • 添加自动完成功能以支持更好的输入时搜索功能,包括:

    • 新的自动完成操作符索引类型。

    • 对字段值进行不考虑特定分析器的重音字母折叠操作。

    • 评分选项,例如 boost 和 constant。

    • 自动完成与其他 $search 操作符组合在一起的复合查询。

    • 来自分析文本的 n-grams/shingles 和边缘 n-grams。

注意

To review MongoDB Search release notes published before April 2020, see Atlas Changelog.

在此页面上