Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb全文搜索匹配算法_Mongodb_Full Text Search_Mongodb Query - Fatal编程技术网

Mongodb全文搜索匹配算法

Mongodb全文搜索匹配算法,mongodb,full-text-search,mongodb-query,Mongodb,Full Text Search,Mongodb Query,我试图使用mongodb全文搜索来显示用户正在键入的建议。 我已经做了所有必要的步骤来创建文本索引,并在数据库上启用全文搜索功能,除了结果的精度之外,一切都很好 我使用regexp实现相同的逻辑,例如,当用户键入“blue”时,有一个建议包含“bluetooth”类似于“blue*”,但使用mongos全文搜索时,我仅在键入“bluetoot”时才得到结果 我尝试过使用“角色完全匹配”,例如“蓝色”,以及我能想到的所有其他可想象的组合,但都没有成功 所以我的问题是,是否有办法在mongo中实现这

我试图使用mongodb全文搜索来显示用户正在键入的建议。 我已经做了所有必要的步骤来创建文本索引,并在数据库上启用全文搜索功能,除了结果的精度之外,一切都很好

我使用regexp实现相同的逻辑,例如,当用户键入“blue”时,有一个建议包含“bluetooth”类似于“blue*”,但使用mongos全文搜索时,我仅在键入“bluetoot”时才得到结果

我尝试过使用“角色完全匹配”,例如“蓝色”,以及我能想到的所有其他可想象的组合,但都没有成功

所以我的问题是,是否有办法在mongo中实现这一点? 如果mongo支持regexp中使用的*字符,或者所使用的算法尝试对单词进行精确匹配

问候,,
Maximos

目前,MongoDB的文本搜索不支持对部分单词进行搜索。该命令匹配完整的词干单词——很可能“bluetooth”和“bluetoot”的词根相同,这就是为什么搜索词可以工作,而“blue”不能工作的原因。()MongoDB的文本搜索使用开源词干分析器Snowball

如果您仍然对实现自动完成感兴趣,那么使用regexp或外部自动完成库(也许?)可能是您的最佳选择。例如,如果您想建议文章标题,您可以每隔几天将标题缓存到json文件中,并将json数据传递到Typeahead.js