在MongoDB中有没有类似ElasticSearch路由的选项?

时间:2017-03-09 10:41:53

标签: mongodb elasticsearch sharding

根据ElasticSearch路由参数文档,

  

执行搜索时,它将广播到所有索引/索引分片(副本之间的循环)。可以通过提供路由参数来控制将搜索哪些分片。例如,在索引推文时,路由值可以是用户名。

     

在这种情况下,如果我们只想搜索特定用户的推文,我们可以将其指定为路由,从而导致搜索仅匹配相关的分片。

$ curl -XGET 'http://localhost:9200/twitter/tweet/_search?routing=kimchy' -d '{
    "query": {
        "filtered" : {
            "query" : {
                "query_string" : {
                    "query" : "some query string here"
                }
            },
            "filter" : {
                "term" : { "user" : "kimchy" }
            }
        }
    }
}
'

所以,当我开始使用MongoDb时,我正在寻找任何类似的选项(如果有的话)?

1 个答案:

答案 0 :(得分:0)

MongoDB中的等效概念是shard key。如果mongos可以从分片键确定只有一些(或一个)分片包含与查询相关的数据,则只会访问那些分片。