【问题标题】:Elasticsearch query on a specific index针对特定索引的 Elasticsearch 查询
【发布时间】:2014-01-01 02:42:28
【问题描述】:

我已经搜索了 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" : {  }
    }

}

问候,

本杰明五世


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

【问题讨论】:

标签: syntax indexing elasticsearch sense


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    下面是 curl 的例子,什么是有效的,并且允许你搜索多个索引:

    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'
    

    【讨论】:

      【解决方案3】:
      GET index_name/_search
      {
          "query": {
              "match_all" : { }
          }
      }
      

      或指定索引类型

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

      【讨论】:

      猜你喜欢
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 2019-06-29
      • 2018-05-14
      • 2014-05-30
      • 1970-01-01
      相关资源
      最近更新 更多