一、es的使用
1、检索文档:
想要从Elasticsearch中获取文档,我们使用同样的 _index 、 _type 、 _id ,但是HTTP方法改为 GET :
GET /{index}/{type}/{id}?pretty
这里pretty的作用:在任意的查询字符串中增加 pretty 参数,类似于上面的例子。会让Elasticsearch美化输出(pretty-print)JSON响应,以便更加容易阅读。 _source 字段不会被美化,它的样子与我们输入的一致。
{ "_index" : "...", "_type" : "...", "_id" : "...", "_version" : 1, "found" : true, "_source" : { "title": "...", "text": "...", "date": "..." } }
GET请求返回的响应内容包括 {"found": true} 。这意味着文档已经找到。如果我们请求一个不存在的文档,依旧会得到一个
JSON,不过 found 值变成了 false 。
此外,HTTP响应状态码也会变成 '404 Not Found' 代替 '200 OK' 。我们可以在 curl 后加 -i 参数得到响应头:
curl -i -XGET http://localhost:9200/{index}/{type}/{id}?pretty
响应:
HTTP/1.1 404 Not Found
Content-Type: application/json; charset=UTF-8
Content-Length: 83
{ "_index" : "...", "_type" : "...", "_id" : "...", "found" : false }
2、检索文档的一部分
通常, GET 请求将返回文档的全部,存储在 _source 参数中。但是可能你感兴趣的字段只是 title 。请求个别字段可以使
用 _source 参数。多个字段可以使用逗号分隔:
GET /{index}/{type}/{id}?_source=title,text
_source 字段现在只包含我们请求的字段,而且过滤了 date 字段:
响应:
{ "_index" : "。。。", "_type" : "。。。", "_id" : "。。。", "_version" : 1, "exists" : true, "_source" : { "title": "My first blog entry" , "text": "Just trying this out..." } }
或者你只想得到 _source 字段而不要其他的元数据,你可以这样请求:
GET /{index}/{type}/{id}/_source
响应内容:
{
"title": "My first blog entry",
"text": "Just trying this out...",
"date": "2014/01/01"
}
————————————————
版权声明:本文为CSDN博主「大数据小蜗牛」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40651753/article/details/86009138