ES复杂查询和检索文档

复杂查询

1.使用过滤器 filter,match和前文一样

2.这部分是一个 range 过滤器 , 它能找到年龄大于 30 的文档,其中 gt 表示_大于(_great than)

GET /megacorp/employee/_search

{

"query" : {

"bool": {

"must": {

"match" : {

"last_name" : "smith"

}

扫描二维码关注公众号,回复: 2243312 查看本文章

},

"filter": {

"range" : {

"age" : { "gt" : 30 }

}

}

}

}

}

检索文档

执行 一个 HTTP GET 请求并指定文档的地址——索引库、类型和ID。 使用这三个信息可以返回原始的 JSON 文档:

GET /megacorp/employee/1

将 HTTP 命令由 PUT 改为 GET 可以用来检索文档,同样的,可以使用 DELETE 命令来删除文档,以及使用 HEAD 指令来检查文档是否存在。如果想更新已存在的文档,只需再次 PUT 。

_search表示显示employee类型中所有检索内容,q提供检索接口,检索所有employee中last_name是Smith的内容:

GET /megacorp/employee/_search?q=last_name:Smith

猜你喜欢

转载自blog.csdn.net/qq_24265945/article/details/81015684