可以说,我有一个用户集合,其中一个文件看起来像这样索引策略应该支持哪些查询是不同字段的组合?
{ “名”: “星爵”, “时代”:24, “性别”: “男”, “高度“:180, ‘重’:230, ‘爱好’:‘飞飞船’ }
现在,我希望有人能够基于一个或多个域的搜索用户。所以我按照上面的顺序添加一个包含所有这些字段的复合索引。
问题是,当查询字段是索引字段的前缀时,MongoDB索引工作效果很好。例如,如果我通过name
,age
和gender
查询,则查询的性能很好。如果我通过name
,gender
和weight
进行查询,那么查询的性能不是很好(尽管它仍然使用索引并且比无索引更快)。
当你有这样的用例时,你使用了什么索引策略?
您是否能够解决有关索引策略的问题? – 2015-02-26 23:22:01
我意识到,MongoDB不是这个用例的正确工具,并决定使用Elasticsearch – 2015-02-27 07:08:43
好的。是的,ElasticSearch非常棒。我很高兴你能解决你所面临的问题。 – 2015-02-27 11:57:59