带有句点的MongoDB文本search

我在MongoDB中有全文searchfunction的问题。 可以说我有这个:

db.test.insert({fname:"blah.dll"}) db.test.insert({fname:"something.dll"}) db.test.ensureIndex({fname:"text"}) 

那我呢…

 db.test.runCommand("text", { search: "blah.dll" }) 

这将返回这两个文件。 看来,这段时间似乎是造成它是:无论或DLL。

在这种情况下search的正确方法是什么?

谢谢。

正如Ben Fortune在对原始问题的评论中所指出的那样,您可以通过用引号括住search词来防止分裂:

db.test.runCommand(“text”,{search:'“blah.dll”'})

一个重要的问题是,这样做也会改变查询的语义,因为每个引用的单词都需要匹配:

'blah.dll东西' – 返回文件包含等等或DLL或东西。

“blahdll something” – 返回包含blahdll或其他东西的文档。

'“blah.dll”something“ – 返回包含blah.dll(必需)和某些东西(可选)的文档。

'“blah.dll”“something” – 返回包含blah.dll(必需)和某些东西(必需)的文件。