# must,有算分
# Filter。不参与算分,结果的score是0
# 改变数据模型,增加字段。解决数组包含而不是精确匹配的问题
# 嵌套,实现了 should not 逻辑
# minimum_should_match: 指定了至少应该匹配的 should 子句数量。
DELETE productsPOST /products/_bulk
{ "index": { "_id": 1 }}
{ "price" : 10,"avaliable":true,"date":"2018-01-01", "productID" : "XHDK-A-1293-#fJ3" }
{ "index": { "_id": 2 }}
{ "price" : 20,"avaliable":true,"date":"2019-01-01", "productID" : "KDKE-B-9947-#kL5" }
{ "index": { "_id": 3 }}
{ "price" : 30,"avaliable":true, "productID" : "JODL-X-1937-#pV7" }
{ "index": { "_id": 4 }}
{ "price" : 30,"avaliable":false, "productID" : "QQPX-R-3956-#aD8" }# 基本语法
POST /products/_search
{"query": {"bool" : {"must" : {"term" : { "price" : "30" }},"filter": {"term" : { "avaliable" : "true" }},"must_not" : {"range" : {"price" : { "lte" : 10 }}},"should" : [{ "term" : { "productID.keyword" : "JODL-X-1937-#pV7" } },{ "term" : { "productID.keyword" : "XHDK-A-1293-#fJ3" } }],"minimum_should_match" :1}}
}# 改变数据模型,增加字段。解决数组包含而不是精确匹配的问题
POST /newmovies/_bulk
{ "index": { "_id": 1 }}
{ "title" : "Father of the Bridge Part II","year":1995, "genre":"Comedy","genre_count":1 }
{ "index": { "_id": 2 }}
{ "title" : "Dave","year":1993,"genre":["Comedy","Romance"],"genre_count":2 }# must,有算分
POST /newmovies/_search
{"query": {"bool": {"must": [{"term": {"genre.keyword": {"value": "Comedy"}}},{"term": {"genre_count": {"value": 1}}}]}}
}# Filter。不参与算分,结果的score是0
POST /newmovies/_search
{"query": {"bool": {"filter": [{"term": {"genre.keyword": {"value": "Comedy"}}},{"term": {"genre_count": {"value": 1}}}]}}
}# Filtering Context
POST _search
{"query": {"bool" : {"filter": {"term" : { "avaliable" : "true" }},"must_not" : {"range" : {"price" : { "lte" : 10 }}}}}
}# Query Context
POST /products/_bulk
{ "index": { "_id": 1 }}
{ "price" : 10,"avaliable":true,"date":"2018-01-01", "productID" : "XHDK-A-1293-#fJ3" }
{ "index": { "_id": 2 }}
{ "price" : 20,"avaliable":true,"date":"2019-01-01", "productID" : "KDKE-B-9947-#kL5" }
{ "index": { "_id": 3 }}
{ "price" : 30,"avaliable":true, "productID" : "JODL-X-1937-#pV7" }
{ "index": { "_id": 4 }}
{ "price" : 30,"avaliable":false, "productID" : "QQPX-R-3956-#aD8" }# should
POST /products/_search
{"query": {"bool": {"should": [{"term": {"productID.keyword": {"value": "JODL-X-1937-#pV7"}}},{"term": {"avaliable": {"value": true}}}]}}
}# 嵌套,实现了 should not 逻辑
# minimum_should_match: 指定了至少应该匹配的 should 子句数量。
# 在这里,设置为 1 表示至少需要有一个 should 子句匹配成功。
POST /products/_search
{"query": {"bool": {"must": {"term": {"price": "30"}},"should": [{"bool": {"must_not": {"term": {"avaliable": "false"}}}}],"minimum_should_match": 1}}
}# Controll the Precision
# minimum_should_match 2 匹配出数数据,1可以匹配出一条数据
POST _search
{"query": {"bool" : {"must" : {"term" : { "price" : "30" }},"filter": {"term" : { "avaliable" : "true" }},"must_not" : {"range" : {"price" : { "lte" : 10 }}},"should" : [{ "term" : { "productID.keyword" : "JODL-X-1937-#pV7" } },{ "term" : { "productID.keyword" : "XHDK-A-1293-#fJ3" } }],"minimum_should_match" :2}}
}POST /animals/_search
{"query": {"bool": {"should": [{ "term": { "text": "brown" }},{ "term": { "text": "red" }},{ "term": { "text": "quick" }},{ "term": { "text": "dog" }}]}}
}POST /animals/_search
{"query": {"bool": {"should": [{ "term": { "text": "quick" }},{ "term": { "text": "dog" }},{"bool":{"should":[{ "term": { "text": "brown" }},{ "term": { "text": "brown" }}]}}]}}
}DELETE blogsPOST /blogs/_bulk
{ "index": { "_id": 1 }}
{"title":"Apple iPad", "content":"Apple iPad,Apple iPad" }
{ "index": { "_id": 2 }}
{"title":"Apple iPad,Apple iPad", "content":"Apple iPad" }POST blogs/_search
{"query": {"bool": {"should": [{"match": {"title": {"query": "apple,ipad","boost": 1.1}}},{"match": {"content": {"query": "apple,ipad","boost":0}}}]}}
}DELETE newsPOST /news/_bulk
{ "index": { "_id": 1 }}
{ "content":"Apple Mac" }
{ "index": { "_id": 2 }}
{ "content":"Apple iPad" }
{ "index": { "_id": 3 }}
{ "content":"Apple employee like Apple Pie and Apple Juice" }POST news/_search
{"query": {"bool": {"must": {"match":{"content":"apple"}}}}
}POST news/_search
{"query": {"bool": {"must": {"match":{"content":"apple"}},"must_not": {"match":{"content":"pie"}}}}
}POST news/_search
{"query": {"boosting": {"positive": {"match": {"content": "apple"}},"negative": {"match": {"content": "pie"}},"negative_boost": 0.5}}
}DELETE products
DELETE newmovies
DELETE animals
DELETE blogs
DELETE news