mongodb的全文搜索算法

mongodb的全文搜索算法,mongodb,Mongodb,我有一个博客,我想用mongodb搜索标题,而不是solr或elastic search,例如,我有这些标题 wolkswagen wolkswagen polo wolkswagen passat 在沃尔克斯瓦根,我有沃尔克斯瓦根的历史,在马球和帕萨特,我有那些汽车的定义,我用空间标记标题。当我输入“wolkswagen”时,polo和passat位于顶部,但是wolkswagen应该位于顶部,将wolkswagen置于顶部的算法应该是什么 谢谢:)好的,您有两个选择: 您可以使用2.4中的

我有一个博客,我想用mongodb搜索标题,而不是solr或elastic search,例如,我有这些标题

wolkswagen
wolkswagen polo
wolkswagen passat
在沃尔克斯瓦根,我有沃尔克斯瓦根的历史,在马球和帕萨特,我有那些汽车的定义,我用空间标记标题。当我输入“wolkswagen”时,polo和passat位于顶部,但是wolkswagen应该位于顶部,将wolkswagen置于顶部的算法应该是什么


谢谢:)

好的,您有两个选择:

您可以使用2.4中的新FTS功能:。我应该提到的是,FTS是实验性的,文档记录非常糟糕,所以这可能不适合您。默认情况下,它按相关性排序,以便自动应用您要查找的结果模式

您可以进行客户端处理(不建议对大型集合进行处理),这样您就可以获得结果,并手动测试与搜索块中每个单词的相关性。至于算法,可能类似于:

  • 迭代由空格分隔的每个单词
  • 为一个单词的完整程度指定一个0-1的值,如果它与一个完整的单词匹配,则指定1
  • 将其相加,并将其放回每个结果的行中
  • 使用客户端排序按每个结果的分数排序

如果不了解您的编程语言,我恐怕只能做到这一点。

您如何在MongoDB中搜索?你在使用2.4中的新fts功能吗?不,我通过标题的空格标记标题,并将关键字添加到嵌入数组中,如果我使用fts,我是否可以将wolkswagen置于顶部?谢谢:)这一个有帮助:)