我试图包含文本中的多个单词(和操作)不会丢失单词源。
例如:
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"}})
请注意逃脱的报价。