我使用MongoDB的全文搜索功能来搜索数据库中的特定字符串。但是,当我使用$search
运算符(我使用MongoDB的本机Node.js驱动程序)时,我知道的结果将提供最佳匹配出现了。例如,我有一个字符串" CSCE-314:Programming Languages"。数据库中没有其他字符串具有" CSCE-314"在里面。但是,当我搜索" CSCE-314"时,我得到的结果包含" CSCE"或" 314",但不包括" CSCE" 和" 314":
搜索查询如下:
{
"$text": {
"$search": "CSCE-314"
}
}
我已经仔细检查过该系列中是否存在匹配的文件。
那是什么给了什么?
编辑:我已经包含了我的Mongo shell
命令和结果。很明显,search
集合包含" CSCE-314"。
编辑2:包含搜索结果。
答案 0 :(得分:0)
答案 1 :(得分:0)
malloc/calloc
在索引10之后提取数组的所有结果。
答案 2 :(得分:0)
Mongodb寻找在搜索中指定的任何单词。假设您有3个文档。
{txt:"frog"}
{txt:"worm"}
{txt:"frog worm"}
如果您搜索“ from worm”-mongodb将返回所有3个文档。因为它们全部包含您在搜索中指定的某些单词。
要查找确切的字符串,可以使用引号:'"word1 word2" word3'
。
因此下一个查询将仅返回一个文档:
DB.my_collection.find({$text: {$search: '"frog worm"'}}); // notice double quotes