【发布时间】:2014-08-10 13:16:45
【问题描述】:
对于包含字符串(例如,州或省名称)的 MongoDB 字段,在字符串类型字段上创建索引之间有什么(如果有)区别:
db.ensureIndex( { field: 1 } )
并在该字段上创建文本索引:
db.ensureIndex( { field: "text" }
在这两种情况下,field 都是 string 类型。
我正在寻找一种方法来对包含单个单词(可能更多)的文本字段进行不区分大小写的搜索。作为 Mongo 的新手,我无法区分使用上述两种索引方法,甚至是 $regex 搜索。
【问题讨论】:
-
深入到 1 行:一个为 FTS 技术提供动力,另一个是查找查询的普通索引。
-
我还没有实现它,但case insensitive indexes 似乎是您正在寻找的解决方案!我现在想提一下,以防我忘记回来写答案。
-
不区分大小写的索引在 mongodb 3.4 中是新的(不幸的是我没有使用它)。