语法 | 范围 |
---|---|
/_search | 集群上所有的索引 |
/index1/_search | index1 |
/index1,index2/_search | index1和index2 |
/index*/_search | 以index开头的索引 |
URI查询
- 使用 ‘q’ ,指定查询字符串
- “query string syntax”,KV键值对
curl -XGET "http://elasticsearch:9200/kibana_sample_data_ecommerce/_search?q=customer_first_name:Eddie"
- 1
q用来表示查询内容,搜索customer_first_name字段中叫Eddie的客户
Request Body查询
curl -XGET "http://elasticsearch:9200/kibana_sample_data_ecommerce/_search" -H 'Content-Type: application/json' -d'
{
"query":{
"match_all":{}
}
}'
- 1
- 2
- 3
- 4
- 5
- 6
支持POST和GET,match_all是返回所有的文档
搜索Response
- took:花费的时间
- total:符合条件的总文档数
- hits:结果集,默认前10个文档
- _index:索引名
- _id:文档的id
- _score:相关度评分
- _source:文档原始信息
搜索的相关性Relevance
- 搜索是用户和搜索引擎的对话
- 用户关心的是搜索结果的相关性
- 是否可以找到所有相关的内容
- 有多少不相关的内容被返回了
- 文档的打分是否合理
- 结合业务需求,平衡结果排名
衡量相关性
- information retrieval
- Precision(查准率) - 尽可能返回较少的无关文档
- Recall(查全率) - 尽量返回较多的相关文档
- Ranking - 是否能够按照相关度进行排序