Elasticsearch对特定索引的查询

时间:2013-12-13 10:49:39

标签: syntax indexing elasticsearch sense

我已经在2天后搜索了这个。我使用sense chrome插件来测试我的查询,但我找不到如何指定他应该搜索哪个索引。所以我的查询会搜索所有索引,并且不容易使用。

我尝试了以下语法:

GET _search
{
    "query": {
        "term": {
           "_index": {
              "value": "dev_events2"
           }
        }
    }

}

GET _search
{
    "_index": "dev_events2",
    "query": {
        "match_all" : {  }
    }

}

GET _search
{
    "index": "dev_events2",
    "query": {
        "match_all" : {  }
    }

}

此致

Benjamin V。


编辑我终于找到了答案:只需将索引名称添加到get:localhost:9201 / myIndexName

的url中

3 个答案:

答案 0 :(得分:15)

您还可以将索引/类型添加到GET / PUT / DELETE ...查询:

GET index/type/_search
{
   "query": {
        "bool": {
            "must": [
                {
                    "term": {
                        ...
                    }
                }
            ]
        }
    }
}

答案 1 :(得分:10)

Heres卷曲示例什么有效,并允许您搜索多个索引:

curl 'http://localhost:9200/myindex1,myindex2/_search?q=*'

对于单个特定索引:

curl 'http://localhost:9200/myindex1/_search?q=*'

要查找索引名称:

curl 'localhost:9200/_cat/indices'

如果你想搜索所有索引:

curl 'localhost:9200/_search?pretty'

答案 2 :(得分:9)

GET index_name/_search
{
    "query": {
        "match_all" : { }
    }
}

或指定索引类型

GET index_name/index_type/_search
{
    "query": {
        "match_all" : { }
    }
}