elasticsearch kibana简单查询讲解

2025-05-29 0 70

一、简单的crud操作

1、添加

?

1

2

3

4
put /index/type/id

{

"json数据"

}

2、查询

?

1
get /index/type/id

3、修改

?

1

2

3

4

5

6
post /index/type/id/_update

{

"doc": {

"field": "值"

}

}

4、删除

?

1
delete /index/type/id

二、搜索

搜索可以分成六大类

  • 1、query string search
  • 2、query dsl
  • 3、query filter
  • 4、full-text search
  • 5、phrase search
  • 6、highlight search

1、query string search

搜索全部:get supplier/user/_search

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61
{

"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": "bei jing tong zhou",

"price": 10000,

"dept": [

"kaifabu"

]

}

},

{

"_index": "supplier",

"_type": "user",

"_id": "1",

"_score": 1,

"_source": {

"name": "zhangsan",

"age": 30,

"address": "bei jing chang chun jie",

"price": 15000,

"dept": [

"kaifabu",

"yanfabu"

]

}

},

{

"_index": "supplier",

"_type": "user",

"_id": "3",

"_score": 1,

"_source": {

"name": "wangwu",

"age": 26,

"address": "bei jing tong zhou yun he ming zhu",

"price": 13000,

"dept": [

"kaifabu"

]

}

}

]

}

}

took:耗费了几毫秒

timed_out:是否超时,这里是没有

_shards:数据拆成了5个分片,所以对于搜索请求,会打到所有的primary shard(或者是它的某个replica shard也可以)

hits.total:查询结果的数量,3个document

hits.max_score:score的含义,就是document对于一个search的相关度的匹配分数,越相关,就越匹配,分数也高

hits.hits:包含了匹配搜索的document的详细数据

2、query dsl

查询所有

?

1

2

3

4
get supplier/user/_search

{

"query": { "match_all": {} }

}

查询全部并且排序

?

1

2

3

4

5

6

7

8

9

10

11

12

13
get suppluer/user/_search

{

"query": {

"match_all": {}

}

, "sort": [

{

"price": {

"order": "desc"

}

}

]

}

分页查询

?

1

2

3

4

5

6
get supplier/user/_search

{

"query": { "match_all": {} },

"from": 1,

"size": 1

}

指定要查询显示的field

?

1

2

3

4

5
get supplier/user/_search

{

"query": { "match_all": {} },

"_source": ["name", "price"]

}

3、query filter

搜索name为‘lisi'并且price大于1500的

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17
get supplier/user/_search

{

"query" : {

"bool" : {

"must" : {

"match" : {

"name" : "lisi"

}

},

"filter" : {

"range" : {

"price" : { "gt" : 1500}

}

}

}

}

}

4、full-text search(全文检索)

address这个字段,会先被拆解,建立倒排索引

?

1

2

3

4

5

6

7

8
get /ecommerce/product/_search

{

"query" : {

"match" : {

"address" : "bei jing"

}

}

}

5、phrase search(短语搜索)

跟全文检索相对应,相反,全文检索会将输入的搜索串拆解开来,去倒排索引里面去一一匹配,只要能匹配上任意一个拆解后的单词,就可以作为结果返回

phrase search,要求输入的搜索串,必须在指定的字段文本中,完全包含一模一样的,才可以算匹配,才能作为结果返回

?

1

2

3

4

5

6

7

8
get /ecommerce/product/_search

{

"query" : {

"match_phrase" : {

"address" : "bei jing"

}

}

}

6、highlight search(高亮搜索结果)

?

1

2

3

4

5

6

7

8

9

10

11

12

13
get /ecommerce/product/_search

{

"query" : {

"match" : {

"address" : "bei jing"

}

},

"highlight": {

"fields" : {

"address" : {}

}

}

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对快网idc的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:https://blog.csdn.net/qq_37465151/article/details/72673479

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 elasticsearch kibana简单查询讲解 https://www.kuaiidc.com/109722.html

相关文章

发表评论
暂无评论