问题标签 [mongodb-atlas-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
885 浏览

mongodb - MongoDB Atlas 全文搜索

MongoDB Atlas 全文搜索是否支持以下内容:

  1. 像 Elasticsearch 中的自动完成(edge_ngram tokenizer):

以下查询:

将返回这些文件:

  1. 像 Elasticsearch 中的前缀查询:

以下查询:

将返回此文档:

0 投票
1 回答
122 浏览

mongodb - 我如何在 mongodb atlas 中结合 $searchbeta 和地理搜索

我的团队将数据迁移到 mongodb atlas。

我有个问题。

如何在 mongodb atlas 中结合 $searchbeta 和地理搜索。

0 投票
1 回答
82 浏览

mongodb-atlas - MongoDb Atlas 全文搜索索引重建,无需停机

我正在寻找对生产设置全文搜索索引(在 4.2 中添加)进行更改(添加新字段)的最佳方法,而不会造成任何停机并影响我的客户。

0 投票
1 回答
741 浏览

mongodb - 使用带有多租户集合的 MongoDb Atlas 全文搜索 ($searchBeta)

我有一个 MongoDb 集合,其中包含数千个租户的数据,这些数据由包含租户 ID 的字段分隔。
我想对特定租户执行包含全文搜索和分面的查询(见下文)。
由于 $searchBeta 必须是聚合管道中的第一阶段,这意味着它将从所有租户返回一个巨大的文档列表,只是为了在 $match 阶段将它们过滤掉,而不是使用索引。
有没有更有效的方法来执行这样的查询?
使用 $searchBeta 运行它需要 14 秒,而删除它会将查询时间减少到 6 毫秒(而分面适用于更多文档,因为它包含所有租户的数据)。
* 使用 Doug 的回答将其减少到 ~70-120ms。
* 时间测量是在 Atlas 免费层上完成的,所以它并不意味着太多

0 投票
2 回答
685 浏览

mongodb - 是否有 mongodb 驱动程序可以在 .net 核心应用程序中使用 Atlas 搜索?

我在我的 .net 核心应用程序中使用 MongoDB Atlas,使用 c# 驱动程序连接数据库,最近了解了 Atlas Search,我能够为我的集合创建索引,有没有办法使用 $searchbeta from我的应用程序来查询我的索引?

0 投票
1 回答
321 浏览

mongodb - 有没有办法逃避 mongodb 全文搜索的重音

有了新的 Atlas Search 功能,就有了一种逃避口音的方法。

我做了这个索引:

有了这些数据:

并通过此搜索:

我有 :

重音不会被转义(é 应该像 ae 一样处理)。我期待:

有没有办法用 Mongodb Atlas Search 来逃避口音(变音符号)?

我想我需要一个 ascii 折叠分析器,但我没有在分析器列表中找到它: https ://docs.atlas.mongodb.com/reference/atlas-search/analyzers/#analyzers-ref

排序规则的使用似乎不起作用:

仍然只返回“René”

0 投票
2 回答
768 浏览

mongodb - “模糊”在 MongoDB 的 $searchBeta 聚合阶段如何工作?

我不太了解模糊在 $searchBeta 聚合阶段是如何工作的。当我尝试在后端实现全文搜索时,我没有得到想要的结果。MongoDB 的全文搜索于去年(2019 年)发布,因此除了文档之外,确实没有太多教程和/或参考资料可供参考。我已经阅读了文档,但我仍然感到困惑,所以我想澄清一下。

假设我的数据库中有这 5 个文档:

这是我在 MongoDB Compass 中的聚合:

我期望我的结果是:

我实际得到的:

我真的不明白为什么我的结果是空的,所以如果有人解释我做错了什么,将不胜感激。

0 投票
1 回答
99 浏览

regex - 在 MongoDB 的 $searchBeta 中使用正则表达式运算符时,格式化正则表达式元字符和选项的正确方法是什么?

我正在尝试使用 $searchBeta (聚合)在 MongoDB 中进行全文搜索,并且我正在使用“正则表达式”运算符来执行此操作。这是我所拥有的 $searchBeta 的一部分,它没有按照我的预期工作:

这是我希望表达式匹配的两个文档的示例:

我实际得到的:

如果我使用如下表达式:

然后我得到结果。

我无法让任何包含正则表达式元字符和/或选项的表达式起作用,所以我很确定我只是在查询字符串中输入错误。$searchBeta 正则表达式文档并没有真正涵盖如何将元字符格式化为查询字符串。此外,$searchBeta 正则表达式运算符与 $regex 不同,因为它不需要斜杠(即 "/your expression/" )。真的把我的头发拉到了如此简单的事情上,我无法弄清楚。

0 投票
1 回答
707 浏览

mongodb - 如何在运行 MongoDB Atlas 全文搜索之前应用过滤器?

根据有关Atlas Search的文档,它指出:

$search 必须是它出现的任何管道的第一阶段。

那么如果是这样的话,你如何应用 Mongo 过滤器。将这些过滤器应用于搜索的输出似乎非常违反直觉?

我们正在考虑使用 Mongodb 全文搜索作为 Algolia 的替代方案,但是这个限制似乎很奇怪

当前管道:

0 投票
0 回答
94 浏览

mongodb - 连接到另一个嵌套集合的 MongoDB 集合中的全文搜索

我想在我的 mongodb 集合中搜索一个字符串,并且搜索字符串存在于另一个集合中,该集合作为我当前集合中的对象数组连接。

示例集合集合 1:

收藏2:

我想搜索collection1,它也可以返回collection2中的结果

例如:搜索 'version' 结果应该返回 collection1->requestHead[0]