复合条件查询
固定分数查询
布尔查询
should(or)和must(and)吗
bool复合查询:
must 结合 filter一起用。mush 和filter的关系是 and。也就是bool下的两个数组,是and
复合查询:bool + should(或者must)
AADSASDDA
ASDASDA
asasAas
ES的复合条件查询
固定分数查询只支持filter,不支持query
bool 查询:
"bool": { "should": [ ... ] },should 中的 match 是 OR 的关系
"bool": { "must": [ ... ] },must 中的 match 是 AND 的关系
"bool": { "must_not": { ... } },must 中的是 NOT 的关系
should,must,must_not 也可以和 filter 关键字进行组合查询
固定分数查询:
只支持 filter,不支持 match
固定分数查询
must_not: 一定不能满足的条件
must是一种and的组合关系,必须满足条件
should是一种or的组合关系,只要满足其中一个条件就可以
可以再加上filter进行拿到结果后的过滤
must是一种and的组合关系
should是一种or的组合关系
可以再加上filter进行拿到结果后的过滤
固定分数查询不支持match,只支持fifter
布尔查询3
布尔查询2
布尔查询1
固定评分查询
高级查询
子条件查询:特定字段查询所指特定值
Query context:
Filter context:在查询过程中,只判断该文档是否满足条件,只有yes或者no
复合条件查询:以一定的逻辑组合子条件查询
固定分数查询,不支持match,只支持filter
post 127.0.0.1:9200/_search
固定分数为2
{
"query":{
"constant_score":{
"filter":{
"match":{
"title":"ElasticSearch"
}
},
"boost":2
}
}
}
布尔查询
should: 两个条件是或的关系
{
"query":{
"bool":{
"should":[
{
"match":{
"author":"loistein"
}
},
{
"match":{
"title":"ElasticSearch"
}
}
]
}
}
}
2. must:两个条件是与的逻辑
{
"query":{
"bool":{
"must":[
{
"match":{
"author":"loistein"
}
},
{
"match":{
"title":"ElasticSearch"
}
}
]
}
}
}
{
"query":{
"bool":{
"must":[
{
"match":{
"author":"loistein"
}
},
{
"match":{
"title":"ElasticSearch"
}
}
],
"filter":[
{
"term":{
"word_count":1000
}
}
]
}
}
}
3. must_not
{
"query":{
"bool":{
"must_not":{
"term":{
"author":"loistein"
}
}
}
}
}
must_not 删选不需要出现这个author:“瓦力”作者的书信息
可以用bool和filter来组合查询
bool做范围查询,fifler做一个过滤查询
must必须满足match里的匹配条件,这是一个与的逻辑
should这个关键词是个或的关系,只要match匹配一个就可以
固定分数查询不支持match,只支持fifter
should应该满足,must必须满足
固定分数查询
复合条件查询:
固定分数查询:
布尔查询:
must是一种and的组合关系
should是一种or的组合关系
可以再加上filter进行拿到结果后的过滤