es查询-全文检索

match、match_phrase、query_string

POST /lagou-company-index/_search
{
"query":{
"match_all": {}
}
}

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

POST /lagou-property/_search
{
"query":{
"match":{
"title":"小米电视4A"
}
}
}

# and关系
# 某些情况下,我们需要更精确查找,我们希望这个关系变成 and ,可以这样做:
POST /lagou-property/_search
{"query":
{"match": {
"title":
{"query": "小米电视4A","operator": "and"}
}
}
}

短语搜索(match phrase query)
match_phrase是分词的,text也是分词的。match_phrase的分词结果必须在text字段分词中都包含,而且顺序必须
相同,而且必须都是连续的

GET /lagou-property/_search
{
"query": {
"match_phrase": {
"title": "小米电视"
}
}
}

query_string 查询
该查询与match类似,但是match需要指定字段名,query_string是在所有字段中搜索,范围更广泛。

# 默认 和 指定字段
GET /lagou-property/_search
{
"query": {
"query_string" : {
"query" : "2699"
}
}
}
GET /lagou-property/_search
{
"query": {
"query_string" : {
"query" : "2699",
"default_field" : "title"
}
}
}
# 逻辑查询
GET /lagou-property/_search
{
"query": {
"query_string" : {
"query" : "手机 OR 小米",
"default_field" : "title"
}
}
}
GET /lagou-property/_search
{
"query": {
"query_string" : {
"query" : "手机 AND 小米",
"default_field" : "title"
}
}
}
# 模糊查询
GET /lagou-property/_search
{
"query": {
"query_string" : {
"query" : "大米~1",
"default_field" : "title"
 }
}
}
# 多字段支持
GET /lagou-property/_search
{
"query": {
"query_string" : {
"query":"2699",
"fields": [ "title","price"]
}
}
}

 多字段匹配搜索(multi match query)
如果你需要在多个字段上进行文本搜索,可用multi_match 。multi_match在 match的基础上支持对多个字段进行文
本查询

GET /lagou-property/_search
{
"query": {
"multi_match" : {
"query":"小米4A",
"fields": [ "title","images"]
}
}
}

 

posted @ 2021-11-30 21:33  Wind_LPH  阅读(899)  评论(0编辑  收藏  举报