我们可以使用 explain 来查看相关性评分 _score 的计算过程,将上面的请求链接改成 :9200/test/article/_search?explain&pretty 请求体不变
这里截取一段返回值做解释
# 截取 id 为
2 的一段分析
{
"value" :
0.023869118,
# 分析
"第"字
"description" :
"weight(content:第 in 0) [PerFieldSimilarity], result of:",
"details" : [ {
"value" :
0.023869118,
"description" :
"score(doc=0,freq=1.0), product of:",
"details" : [ {
"value" :
0.20743163,
"description" :
"queryWeight, product of:",
"details" : [ {
"value" :
0.30685282,
"description" :
"idf(docFreq=1, maxDocs=1)",
"details" : [ ]
}, {
"value" :
0.67599714,
"description" :
"queryNorm",
"details" : [ ]
} ]
}, {
"value" :
0.11506981,
"description" :
"fieldWeight in 0, product of:",
"details" : [ {
"value" :
1.0,
# 检索词频率 检查
"description" :
"tf(freq=1.0), with freq of:",
"details" : [ {
"value" :
1.0,
"description" :
"termFreq=1.0",
"details" : [ ]
} ]
}, {
"value" :
0.30685282,
# 反向文档频率 检查
"description" :
"idf(docFreq=1, maxDocs=1)",
"details" : [ ]
}, {
"value" :
0.375,
# 字段长度 检查
"description" :
"fieldNorm(doc=0)",
"details" : [ ]
} ]
} ]
} ]
}
6、分页与返回指定字段
分页
size 返回的结果数
from 开始数(偏移量)
先按照 id 字段顺序排序,然后从第二条(from)开始取,取两条(size)数据,返回 id 为 4 的文档
curl -XGET
'https://localhost:9200/test/article/_search?pretty' -d
'
{
"sort
" : { "id
" : { "order
" : "asc
"}},
"from
" : 2,
"size" : 2
}'
返回指定字段的数据。有时候数据字段太多,而我们使用的只是其中的几个字段,我么可以使用 _source 来指定返回的字段
查询所有数据, 只返回作者和标题
curl -XGET
'https://localhost:9200/test/article/_search?pretty' -d
'
{
"_source
" : ["author
" ,"subject
"]
}'
四、参考资料
Elasticsearch 权威指南(中文版)
官方英文文档
ElasticSearch 最新版本 2.20 发布下载了
Linux上安装部署ElasticSearch全程记录
Elasticsearch安装使用教程
ElasticSearch 配置文件译文解析
ElasticSearch集群搭建实例
分布式搜索ElasticSearch单机与服务器环境搭建
ElasticSearch的工作机制
Elasticsearch的安装,运行和基本配置
使用Elasticsearch + Logstash + Kibana搭建日志集中分析平台实践
Ubuntu 14.04搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana)