MongoDB搜索:完全匹配和变音符号不敏感(避免使用标记器)

时间:2016-11-11 13:52:32

标签: mongodb mongodb-query

我正在尝试在没有变音符号敏感度的MongoDB集合字段中搜索(它是$ text索引),我想只找到完全匹配(不是.contains()等)。

我能想到的唯一解决方案是配置文档索引以避免使用tokenizer。因此,我将该字段的所有内容作为单个标记,它只会让我回到那些完全匹配的标记。有谁知道怎么做,拜托?

非常感谢你!

实施例: 我尝试在现场搜索“iphone 7”。 我想让它回复:“iphóne7”,“iphone 7”。 它给了我什么:“iphóne7”,“iphone 7”,“iphóne764gb”,“iphone 7 color blanco”。

1 个答案:

答案 0 :(得分:2)

您可以在进行文字搜索时设置$diacriticSensitive: <boolean>值。

{
  $text:
    {
      $search: <string>,
      $language: <string>,
      $caseSensitive: <boolean>,
      $diacriticSensitive: <boolean>
    }
}

查看此链接以获取更详细的说明 - https://docs.mongodb.com/manual/reference/operator/query/text/