//结构化搜索,精确匹配
DELETE products
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"}
GET /products/_mapping
//对布尔值match查询,有算分
POST products/_search
{
"profile":"true",
"explain":"true",
"query":{
"term": {
"avaliable": true
}
}
}
//对布尔值,通过constant score 转成 filtering,没有算分
POST products/_search
{
"profile":"true",
"explain":"true",
"query":{
"constant_score": {
"filter": {
"term": {
"avaliable": "true"
}
}
}
}
}
//数字range查询
GET products/_search
{
"query":{
"constant_score": {
"filter": {
"range": {
"price": {
"gte": 20,
"lte": 30
}
}
}
}
}
}
//日期range
POST products/_search
{
"query": {
"constant_score": {
"filter": {
"range": {
"date": {
"gte": "now-3y"
}
}
}
}
}
}
//Exists
POST products/_search
{
"query": {
"constant_score": {
"filter": {
"exists": {
"field": "date"
}
}
}
}
}
//处理多值字段
POST /movies/_bulk
{ "index":{"_id":1 }}
{"title":"Father of the Bridge Part II","year":1995,"genre":"Comedy"}
{ "index":{"_id":2 }}
{"title":"Dave","year":1993,"genre":["Comedy","Romance"] }
//处理多值字段,term查询时包含,而不是等于
POST movies/_search
{
"query":{
"constant_score": {
"filter": {
"term": {
"genre.keyword": "Comedy"
}
}
}
}
}