04-DSL查询语法-精确查询
1.精确查询
精确查询一般是查找keyword、数值、日期、boolean等类型字段。所以 不会 对搜索条件分词。常见的有:
term:根据词条精确值查询
range:根据值的范围查询
2.精确查询-语法
精确查询常见的有term查询和range查询。语法如下:
(1)term查询:
// term查询
GET /indexName/_search
{
"query": {
"term": {
"FIELD": {
"value": "VALUE"
}
}
}
}
# term查询
GET /hotel/_search
{
"query": {
"term": {
"city": {
"value": "上海"
}
}
}
}
(2)range查询:
// range查询
GET /indexName/_search
{
"query": {
"range": {
"FIELD": {
"gte": 10, // 大于等于
"lte": 20 // 小于等于
}
}
}
}
# range查询
GET /hotel/_search
{
"query": {
"range": {
"price": {
"gte": 100, // 大于等于
"lte": 300 // 小于等于
}
}
}
}
3.总结:
精确查询常见的有哪些?
term查询:根据词条精确匹配,一般搜索keyword类型、数值类型、布尔类型、日期类型字段
range查询:根据数值范围查询,可以是数值、日期的范围