0
点赞
收藏
分享

微信扫一扫

Acid burn(★★)

婉殇成长笔记 2023-05-10 阅读 98

一 模拟造数

1.1 模拟数据

添加数据修改数据的请求方式为post

http://localhost:9200/student/_doc/101
{
"name":"zhangsan",
"nickname":"zhangsan",
 "sex":"男",
 "age":30,
 "createTime":"2022-10-22 23:10:12"

}


http://localhost:9200/student/_doc/102
{
"name":"lisi",
"nickname":"lisi",
 "sex":"男",
 "age":20,
 "createTime":"2023-02-01 12:03:04"
}
http://localhost:9200/student/_doc/103
{
"name":"wangwu",
 "nickname":"wangwu",
 "sex":"女",
 "age":40,
 "createTime":"2023-03-05 12:45:23"
}
http://localhost:9200/student/_doc/104

{
"name":"zhangsan1",
"nickname":"zhangsan1",
 "sex":"女",
 "age":50,
 "createTime":"2023-04-09 12:45:12"
}
http://localhost:9200/student/_doc/105
{
"name":"zhangsan2",
"nickname":"zhangsan2",
 "sex":"女",
 "age":30,
 "createTime":"2022-05-01 10:08:02"
}

1.2  修改数据覆盖旧数据*

1.通过id修改数据: 修改前

 2.修改中:

3.修改后

二 常用操作

2.1  查询全部数据 

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

2.2 匹配查询数据(match)

match 匹配类型查询,会把查询条件进行分词,然后进行查询,多个词条之间是 or 的关系

{
 "query": {
 "match": {
 "name":"zhangsan"
 }
 }
}

2.3 字段匹配

{"query": { 
"multi_match": { 
"query": "zhangsan", 
"fields": ["name","nickname"] 
} 
} 
}

2.4 精确查询(term)

term 查询,精确的关键词匹配查询,不对查询条件进行分词。

{
 "query": {
 "term": {
 "name": {
 "value": "wangwu"
 }
 }
 }
}

2.5 精确查询(多-term) 

term 查询,精确的关键词匹配查询,不对查询条件进行分词。

{
 "query": {
 "terms": {
 "name": ["zhangsan","lisi"]
 }
 }
}

2.6 返回指定的字段

includes:来指定想要显示的字段

excludes:来指定不想要显示的字段

{
 "_source": {
 "includes": ["name","age"]
 }, 
 "query": {
 "terms": {
 "nickname": ["zhangsan"]
 }
 }
}

2.7 返回指定的字段

`bool`把各种其它查询通过`must`(必须 )、`must_not`(必须不)、`should`(应该)的方

式进行组合

http://localhost:9200/student/_search

 {"query": {
 "bool": {
 "must": [
 {
 "match": {
 "name": "zhangsan"
 }
 }
 ],
 "must_not": [
 {
 "match": {
 "age": "40"
 }
 }
 ]
 }
 }
}

2.8 组合查询

查询语句: 

{
 "query": {
 "range": {
 "age": {
 "gte": 30,
 "lte": 35
 }
 }
 }
}

2.9  fuzzy组合查询

为了找到相似的术语,fuzzy 查询会在指定的编辑距离内创建一组搜索词的所有可能的变体

或扩展。然后查询返回每个扩展的完全匹配。

通过 fuzziness 修改编辑距离。一般使用默认值 AUTO,根据术语的长度生成编辑距离

{
 "query": {
 "fuzzy": {
 "name": {
 "value": "zhangsan"
 }
 }
 }
}

 2.10  sort排序

sort 可以让我们按照不同的字段进行排序,并且通过 order 指定排序的方式。desc 降序,asc 升序。

"query": { 
"match": { 
"name":"zhangsan" 
} 
}, 
"sort": [{ 
"age": { 
"order":"desc" 
} 
}] 
}
举报

相关推荐

0 条评论