本博客地址:https://security.blog.csdn.net/article/details/110357344
七、文档的搜索
term(词条)查询和full text(全⽂文)查询
词条查询:词条查询不会分析查询条件,只有当词条和查询字符串完全匹配时,才匹配搜索
全⽂查询:ElasticSearch引擎会先分析查询字符串,将其拆分成多个分词,只要已分析的字段中包含词条的任意⼀个,或全部包含,就匹配查询条件,返回该⽂档;如果不包含任意一个分词,表示没有任何文档匹配查询条件
7.1、单条trem查询GET请求
term关键字查询,精确查询。例如SQL的where条件
请求
http://localhost:9200/malamala/_search
响应
7.2、match_all查询POST请求
全文查询
请求
http://localhost:9200/malamala/_search
请求体
{
"query":{
"match_all":{} // 查询全部文档,默认显示10条记录
},
"from": 0, // 从0开始
"size": 100 // 查询100条
}
响应
7.3、match查询POST请求
请求
http://localhost:9200/malamala/_search
请求体
{
"query":{
"match":{ // 这里使用match
"name": "超级逗比" //name:字段 会进行分词匹配
}
},
"from": 0,
"size": 100
}
响应
7.4、multi_match多个查询POST请求
请求
http://localhost:9200/malamala/_search
请求体
{
"query":{
"multi_match":{ // 选定多个字段所以使用multi_match
"query": "超级逗比",
"fields": ["title","name"] // 指定字段
}
}
}
响应
7.5、match_phrase多个查询POST请求
准确查询,类似词条查询
请求
http://localhost:9200/malamala/_search
请求体
{
"query":{
"match_phrase":{
"position": "逗比"
}
}
}
响应