term查询是代表完全匹配,搜索之前不会对你搜索的关键字进行分词,对你的关键字去文档分词库中去匹配内容;
总结:也就是term查询不会再进行分词,而是直接去分词库进行完全匹配查询;
用法: kibana查询语句:
#term查询
GET /book/novel/_search #
{
"from": 0,
"size": 20,
"query": {
"term": {
"author": {
"value": "希特勒"
}
}
}
}
含义释解:因为是查询所以使用GET,在book索引(库)下,novel类型(表)下的数据;_search表示的是检索;检索的是谁呢?query也表示检索,用于标识要检索的内容;term就是term检索类型,说明使用term类型进行检索;term里面author就表示字段是author;然后这个author的值value是”希特勒”;
注意:不会对”希特勒”这个词进行分词的;如果是”希”是查不到的;
至于from和size是什么含义?他们表示的是分页;相当于原来的limit;from是从0行数据开始;size是显示20行;
Kibana的查询结果:
{
"took" : 3, 花了多长时间3毫秒
"timed_out" : false, 是否超时了?False
"_shards" : { 分片
"total" : 5, 分片个数5片
"successful" : 5, 成功得到5个
"skipped" : 0,
"failed" : 0
},
"hits" : { 碰撞
"total" : 1, 碰撞结果,碰撞出了一个
"max_score" : 1.6739764, 得分是多少呢?1.6739764 //得分就是匹配度,得分越高说明匹配度越高;同样的显示也就会显示在前面(像百度似的)
"hits" : [ 碰撞(查询)结果
{
"_index" : "book", book索引
"_type" : "novel", novel类型
"_id" : "i71v_3UB8zqFoPSSvb3V", ........id
"_score" : 1.6739764, 得分
"_source" : { 原始数据
"name" : "我的奋斗",
"author" : "希特勒",
"price" : "200",
"count" : "100",
"pubate" : "1992-2-3 12:30:23",
"decr" : "一本好书"
}
}
]
}
}
。。。。。。。。。。。。。
嘻哈的简写笔记
。。。。。。。。。。。。。