MongoDB:$ text软搜索

时间:2017-01-18 14:41:09

标签: mongodb performance mongodb-query

我们正在使用MongoDB进行一个新项目,我们必须在其中进行文本搜索(使用$ text索引)。

由于我们的数据必须加密,没有空格,所以MongoDb似乎是一个单词,因此当我尝试查询它(带有加密文本)时,我没有得到任何结果。

例如(确实,在现实生活中这些数据是加密的):

如果我的文件中有以下文字:

“如果有人喜欢一朵花,其中只有一朵花,在数以百万计的星星中,只要看星星就足以让他开心。” 我查询的内容如下:

db.book.find( 
{
    $text: { $search: "mill \"enou\"" } 
})

我希望能找到这句话。

有没有办法让MongoDb接受软搜索?

修改: 最后,带有索引的Rejex表达式为我们工作。

1 个答案:

答案 0 :(得分:1)

我想您最好的选择是使用$regex代替$ text运算符来执行此操作

对于您提供的示例,查询将是:

db.book.find({text: 
     {$regex: /mill.*enou/  }
})