小编JBY*_*JBY的帖子

MongoDB全字搜索,精确短语不返回预期结果

所以根据MongoDB文档,

如果文档字段包含单词blueberry,则对术语blue的搜索将与文档不匹配

这对我的用例很有用,这就是我想要发生的事情.但是,给定以下数据库条目:

> db.test.drop()
> db.test.insert({ "t" : "Men's Fashion" })
> db.test.insert({ "t" : "Women's Fashion" })
> db.test.ensureIndex({ "t" : "text" })
Run Code Online (Sandbox Code Playgroud)

搜索Men's会返回预期结果:

> db.test.find({ "$text" : { "$search" : "\"Men's\"" } }, { "_id" : 0 })
{ "t" : "Men's Fashion" }
Run Code Online (Sandbox Code Playgroud)

然而,搜索整个短语Men's Fashion,意外地也回归女性时尚:

> db.test.find({ "$text" : { "$search" : "\"Men's Fashion\"" } }, { "_id" : 0 })
{ "t" : "Women's Fashion" }
{ "t" : "Men's Fashion" }
Run Code Online (Sandbox Code Playgroud)

我也尝试过"\"Men's\"\"Fashion\""同样的结果.是否有一个解决方法/技巧来使完整的短语只返回整个单词匹配? …

mongodb mongodb-query

7
推荐指数
1
解决办法
2466
查看次数

标签 统计

mongodb ×1

mongodb-query ×1