elasticsearch,logstash,Http,Curl,elasticsearch,Logstash" /> elasticsearch,logstash,Http,Curl,elasticsearch,Logstash" />

Http 如何在Elasticsearch中已有某个内容的“\u id”字段时获取该内容的信息

Http 如何在Elasticsearch中已有某个内容的“\u id”字段时获取该内容的信息,http,curl,elasticsearch,logstash,Http,Curl,elasticsearch,Logstash,因此,我试图在elasticsearch中访问有关对象的信息,而我已经拥有该对象的唯一ID。以下是我当前的查询: curl -XGET 'localhost:9200/packetbeat-2017.03.23/AVr8l8YfyH-VqZ9J_0HZ?pretty' 这是我从中得到的回应: { "error" : { "root_cause" : [ { "type" : "illegal_argument_exception", "reason" : "No end

因此,我试图在elasticsearch中访问有关对象的信息,而我已经拥有该对象的唯一ID。以下是我当前的查询:

curl -XGET 'localhost:9200/packetbeat-2017.03.23/AVr8l8YfyH-VqZ9J_0HZ?pretty'
这是我从中得到的回应:

{
  "error" : {
"root_cause" : [
  {
    "type" : "illegal_argument_exception",
    "reason" : "No endpoint or operation is available at [AVr8l8YfyH-VqZ9J_0HZ]"
  }
],
   "type" : "illegal_argument_exception",
   "reason" : "No endpoint or operation is available at [AVr8l8YfyH-VqZ9J_0HZ]"
},
   "status" : 400
}
我知道这个索引和这个ID都存在,关于如何做到这一点有什么想法吗?

您的请求中缺少了\u键入。所以你想要的是

curl-XGET'localhost:9200/packetbeat-2017.03.23/{u type}/AVr8l8YfyH-VqZ9J_0HZ?pretty'

更一般地说

curl-XGET'localhost:9200/index/type/id'

您的查询中缺少了_类型

ElasticSearch中的索引类似于数据库。类型类似于表,ES中的文档类似于表中的记录。 假设您试图从数据库中检索一条记录,而不指定需要从哪个表中检索该记录。现在就是这样

因此,您的查询应该是curl-XGET'localhost:9200/packetbeat-2017.03.23/yourindextypename/AVr8l8YfyH-VqZ9J_0HZ?pretty'

但是,在ES中,您也可以进行如下查询:, curl-XGET'localhost:9200/packetbeat-2017.03.23//u search {query:{term:{u id:{value:AVr8l8YfyH-VqZ9J_0HZ}}}'

我建议您安装Kibana和Sense,这样您就可以使用Sense UI进行查询,以便轻松排除故障

kibana-4.6.3[从

感知kibana应用程序[

After having Kibana installed, access Sense UI

Kibana: http://localhost:5601/

Sense: http://localhost:5601/app/sense