# -------------------------
# 组合查询
# 12.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
# 有Coordination效果
# 含有apple 的文档 -> 分值:1.5*1/3 = 0.5
# 含有apple jobs 的文档 -> 分值:3.0*2/3 = 2.0
# 含有apple jobs mobile 的文档 -> 分值:4.5*3/3 = 4.5
# 12.2 boosting查询
# positive部分:查询返回的查询结果分值不变
# negative部分:查询的结果分值会被降低
# negative_boost部分:设置negative中要降低的分值
# boosting查询的优点
# 优点:里面的两个查询都会有结果返回,其中一个分值就是你设置的分值
# 注意:如果是没有bool的must_not的话,那降低的那部分就没有结果返回
# 12.3 constant_score查询
# 优点:可以让一个查询得到一个恒定的分值
GET /library/books/_search
{
"query": {
"term": {
"title": "elasticsearch"
}
}
}
GET /library/books/_search
{
"query": {
"constant_score": {
"query": {
"term": {
"title": "elasticsearch"
}
}
}
}
}
# 12.4 indices查询
# 优点:可以在多个索引上进行查询。
# indices查询
# no_match_query 查询其他索引里的数据
GET /_search
{
"query": {
"indices": {
"indices": [
"library"
],
"query": {
"term": {
"title": "elasticsearch"
}
},
"no_match_query" : {
"term" : {
"price" : 10
}
}
}
}
}