根据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时,我正在寻找任何类似的选项(如果有的话)?