如何在mongodb中使用不区分大小写的搜索获得快速结果?

时间:2015-10-20 16:47:32

标签: mongodb case-insensitive

我的mongodb数据库中有几百万条记录。 假设我的所有记录都有一些共同的字段,如姓名,姓氏等......

1)我需要搜索不敏感的案例。常见的答案是使用正则表达式,但我认为它会大大降低我的应用程序性能。这是最好的方式吗?

2)我应该能够以我的语言(土耳其语)获得结果。在土耳其语中,我的大写是İ,大写的ı是I.如果我的字符串包含那些字母,我甚至不会得到正确的结果。即使使用不区分大小写的正则表达式搜索。如果mongo中没有数据库语言选项,我该如何解决这个问题?

3)你认为还有另一种更适合我的目的的nosql解决方案吗? (Case Insensitive搜索数百万条具有不同列和土耳其字符集的记录)

由于

1 个答案:

答案 0 :(得分:0)

2.6 on MongoDB有一个文本索引(https://docs.mongodb.org/manual/reference/operator/query/text/#text-query-operator-behavior)。但它并未指定土耳其语的行为,尽管它受到支持。

  

对于拉丁字母,文本搜索对非变音符号不区分大小写;即[A-z]不区分大小写。