mongodb文本搜索和多个带有词干的搜索单词



我试图包含文本中的多个单词(和操作)不会丢失单词源。

例如:

db.supplies.runcommand(" text",{搜索:"打印机inks"})应以(打印机和墨水)或(打印机墨水)或(打印机墨水)或(打印机油墨)返回结果,而不是使用打印机或墨水的所有结果。

本文涵盖了搜索多个单词作为一个和操作的搜索,但是该解决方案没有搜索词干单词 -> mongoDB文本搜索和多个搜索单词。

我能想到的唯一方法是创建所有单词的排列,然后在搜索排列数(可能很大)

的搜索搜索中

这可能不是搜索大型收藏的有效方法。

有更好,更聪明的方法吗?

因此,您是否有一个理由使用文本搜索?如果是我,我会使用正则表达式。

https://docs.mongodb.com/manual/reference/poerator/query/regex/

我头顶上的东西都这样。

db.collection.find({products:/printers inks|printers|inks/})

现在,我想您也可以通过文本搜索做同样的事情。

db.collection.find({$text:{$search : ""printers inks" printers inks"}})

请注意逃脱的报价。

最新更新