有个数组字段 是这样的 a = ['128jinianlu', 'gongkang', 'pengpu']我要这么搜:db.shanghai.find({a: /ong/})我直接给a加索引,搜索的速度还不如不添加快,这是为何
正则表达式就跟SQL里面的LIKE一样,除非左侧固定({a: /^ong/}),否则无法使用索引。目前MongoDB和一般关系数据库都没有支持这样部分匹配的算法。ElasticSearch似乎有相关支持。但是要明白这是个空间换时间的做法,可能会消耗大量空间。确实需要可以去相关版块提问。
正则表达式就跟SQL里面的
LIKE
一样,除非左侧固定({a: /^ong/}
),否则无法使用索引。目前MongoDB和一般关系数据库都没有支持这样部分匹配的算法。ElasticSearch似乎有相关支持。但是要明白这是个空间换时间的做法,可能会消耗大量空间。确实需要可以去相关版块提问。