MongoDB CRUD操作: 文本搜索操作符

MongoDB CRUD操作: 文本搜索操作符

查询框架

使用$text查询操作符可在具有文本索引的集合上执行文本搜索,$text使用空白和大部分标点符号作为分隔符,对搜索字符串进行标记化处理,并对搜索字符串中的所有此类标记执行逻辑OR。例如:可以使用下面的查询来查找store集合中包含"coffee"、"shop"或 "java"字符串的文档:

db.stores.find( { $text: { $search: "java coffee shop" } } )

使用$meta查询操作符获取每个匹配文档的相关性得分并进行排序。例如,要按相关性咖啡店列表进行排序,可执行以下操作:

db.stores.find(
   { $text: { $search: "coffee shop cake" } },
   { score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )

聚合管道

使用聚合管道时,可使用$match$text表达式执行文本搜索查询,如果要按相关性得分对结果进行排序,可在$sort阶段使用$meta聚合操作符。

对于托管在 MongoDB Atlas 上的数据,Atlas Search 提供了$search聚合阶段,可对集合执行全文检索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原子星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值