elasticsearch kibana简单查询讲解
一、简单的CRUD操作
1、添加
PUT/index/type/id { "json数据" }
2、查询
GET/index/type/id
3、修改
POST/index/type/id/_update { "doc":{ "FIELD":"值" } }
4、删除
DELETE/index/type/id
二、搜索
搜索可以分成六大类
- 1、querystringsearch
- 2、queryDSL
- 3、queryfilter
- 4、full-textsearch
- 5、phrasesearch
- 6、highlightsearch
1、querystringsearch
搜索全部:GETsupplier/user/_search
{ "took":2, "timed_out":false, "_shards":{ "total":5, "successful":5, "failed":0 }, "hits":{ "total":3, "max_score":1, "hits":[ { "_index":"supplier", "_type":"user", "_id":"2", "_score":1, "_source":{ "name":"lisi", "age":26, "address":"beijingtongzhou", "price":10000, "dept":[ "kaifabu" ] } }, { "_index":"supplier", "_type":"user", "_id":"1", "_score":1, "_source":{ "name":"zhangsan", "age":30, "address":"beijingchangchunjie", "price":15000, "dept":[ "kaifabu", "yanfabu" ] } }, { "_index":"supplier", "_type":"user", "_id":"3", "_score":1, "_source":{ "name":"wangwu", "age":26, "address":"beijingtongzhouyunhemingzhu", "price":13000, "dept":[ "kaifabu" ] } } ] } }
took:耗费了几毫秒
timed_out:是否超时,这里是没有
_shards:数据拆成了5个分片,所以对于搜索请求,会打到所有的primaryshard(或者是它的某个replicashard也可以)
hits.total:查询结果的数量,3个document
hits.max_score:score的含义,就是document对于一个search的相关度的匹配分数,越相关,就越匹配,分数也高
hits.hits:包含了匹配搜索的document的详细数据
2、queryDSL
查询所有
GETsupplier/user/_search { "query":{"match_all":{}} }
查询全部并且排序
GETsuppluer/user/_search { "query":{ "match_all":{} } ,"sort":[ { "price":{ "order":"desc" } } ] }
分页查询
GETsupplier/user/_search { "query":{"match_all":{}}, "from":1, "size":1 }
指定要查询显示的field
GETsupplier/user/_search { "query":{"match_all":{}}, "_source":["name","price"] }
3、queryfilter
搜索name为‘lisi'并且price大于1500的
GETsupplier/user/_search { "query":{ "bool":{ "must":{ "match":{ "name":"lisi" } }, "filter":{ "range":{ "price":{"gt":1500} } } } } }
4、full-textsearch(全文检索)
address这个字段,会先被拆解,建立倒排索引
GET/ecommerce/product/_search { "query":{ "match":{ "address":"beijing" } } }
5、phrasesearch(短语搜索)
跟全文检索相对应,相反,全文检索会将输入的搜索串拆解开来,去倒排索引里面去一一匹配,只要能匹配上任意一个拆解后的单词,就可以作为结果返回
phrasesearch,要求输入的搜索串,必须在指定的字段文本中,完全包含一模一样的,才可以算匹配,才能作为结果返回
GET/ecommerce/product/_search { "query":{ "match_phrase":{ "address":"beijing" } } }
6、highlightsearch(高亮搜索结果)
GET/ecommerce/product/_search { "query":{ "match":{ "address":"beijing" } }, "highlight":{ "fields":{ "address":{} } } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接