Elasticsearch 组合查询

Elasticsearch 组合查询

1.bool查询

# must, should, must_not
# minimum_should_match:表示一个文档至少匹配多少个短语才算是匹配成功
# disable_coord: 启用和禁用一个文档中所包含所有查询关键词的分数得分计算,默认是false

# 无Coordination效果
# 含有apple的文档分值:1.5
# 含有apple jobs的文档分值:3.0
# 含有apple jobs mobile的文档分值4.5

2.boosting查询

# positive部分:查询返回的查询结果分值不变
# negative部分:查询的结果分值会被降低
# negative_boost部分:设置negative中要降低的分值

# boosting查询的优点
# 优点:里面的两个查询都会有结果返回,其中一个分值就是你设置的分值
# 注意:如果你设有bool的must_not的话,那降低的那部分就没有结果返回
#例:(静态语句)
GET /_search
{
    "query":{
        "boosting":{
            "positive":{
                "match":{
                    "text":"apple"
                }
            },
            "negative":{
                "match":{
                    "text":"fruit pie tart red sweet"
                }
            },
            "negative_boost":0.5
        }
    }
}

3.constant_score查询

# 优点:可以让一个查询得到一个恒定的分值。

#constant_score查询
GET /library/books/_search
{
    "query":{
        "term":{
            "title":"elasticsearch"
        }
    }
}

GET /library/books/_search
{
    "query":{
        "constant_score":{
            "query":{
                "term":{
                    "title":"elasticsearch"
                }
            }
        }
    }
}

4.indices查询

# 优点:可以在多个索引上进行查询
# no_match_query:查询其他索引里的数据

#indices查询
GET /_search
{
    "query":{
        "indices":{
            "indices":["library"],
            "query":{
                "term":{
                    "title":"elasticsearch"
                }
            },
            "no_match_query":{
                "term":{
                    "price":10
                }
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值