ElasticSearch 查询

ES 中的查询 API 有两种:

  • URI Search:HTTP GET 请求的方式。
  • Request Body Search:基于 Json 数据格式的 DSL(Query Domain Specific Language)。

1,指定查询范围

通过 URI 可以指定在哪些索引中进行查询,有下面几种格式:

  • /_search:在所有的索引中进行搜索。
  • /index_name/_search:在 index_name 索引中进行搜索。
  • /index1,index2/_search:在 index1 和 index2 索引中进行搜索。
  • /index*/_search:在所有的以 index 为前缀的索引中进行搜索。

2,URI 查询

URI 查询使用 HTTP GET 请求的方式,使用 q 指定查询的内容,格式如下:

curl -X GET http://localhost:9200/index_name/_search?q=key:val

 简写为:

GET /index_name/_search?q=key:val

其表示的含义是:在 index_name 索引中的所有文档中,查询 key 字段的值为 val 的内容。

3,Request Body 查询

Request Body 查询可以使用 GET 或 POST 方式,格式如下:

curl -X GET/POST http://localhost:9200/index_name/_search -H 'Content-Type: application/json' -d'
{
 "query": {
 "match_all":{}
 }
}'

简写为:

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

4,ES 查询的响应内容

如果查询成功,会返回如下格式的内容:

在这里插入图片描述

返回的结果集会以 _score 评分进行排序,_score 评分指的是查询的相关性。

5,相关性指标

搜索的相关性有 3 种衡量指标:

  • 查准率:尽可能返回较少的无关文档。
  • 查全率:尽可能返回较多的相关文档。
  • 结果排名:查询结果排名是否准确。

在 ES 中可以通过调整查询的参数来改善搜素的查准率和查全率。

(本节完。)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值