1.4 Elasticsearch DSL 常用语法介绍 - YouMeek
- -JDK 版本:1.8(最低要求),主推:. Elasticsearch 版本:. 相关软件包百度云下载地址(密码:0yzd):. 注意注意:Elasticsearch、Kibana 安装过程请移步到我 Github 上的这套 Linux 教程:. Elasticsearch 和 Kibana 都要安装.
GET /product_index/product/_validate/query?explain
{
"query": {
"match": {
"product_name": "toothbrush"
}
}
}
GET /product_index/product/_search
{
"query": {
"match_all": {}
}
}
GET /product_index/product/_search
{
"query": {
"match": {
"product_name": "toothbrush"
}
},
"sort": [
{
"price": "desc"
}
]
}
GET /product_index/product/_search
{
"query": {
"match_all": {}
},
"from": 0, ## 从第几个商品开始查,最开始是 0
"size": 1 ## 要查几个结果
}
GET /product_index/product/_search
{
"query": {
"match_all": {}
},
"_source": [
"product_name",
"price"
]
}
符号标识 | 代表含义 |
---|---|
gte | 大于或等于 |
gt | 大于 |
lte | 小于或等于 |
lt | 小于 |
GET /product_index/product/_search
{
"query": {
"bool": {
"must": {
"match": {
"product_name": "toothbrush"
}
},
"filter": {
"range": {
"price": {
"gt": 400,
"lt": 700
}
}
}
}
}
}
GET /product_index/product/_search
{
"query": {
"match": {
"product_name": "PHILIPS toothbrush"
}
}
}
GET /product_index/product/_search
{
"query": {
"match_phrase": {
"product_name": "PHILIPS toothbrush"
}
}
}
"<em>PHILIPS</em> <em>toothbrush</em> HX6730/02"
GET /product_index/product/_search
{
"query": {
"match": {
"product_name": "PHILIPS toothbrush"
}
},
"highlight": {
"fields": {
"product_name": {}
}
}
}
GET /product_index/product/_search
{
"query": {
"range": {
"price": {
"gte": 30.00
}
}
}
}
GET /product_index/product/_search
{
"query": {
"match": {
"product_name": "PHILIPS toothbrush"
}
}
}
GET /product_index/product/_search
{
"query": {
"match": {
"product_name": {
"query": "PHILIPS toothbrush",
"operator": "and"
}
}
}
}
GET /product_index/product/_search
{
"query": {
"match": {
"product_name": {
"query": "java 程序员 书 推荐",
"minimum_should_match": "50%"
}
}
}
}
GET /product_index/product/_search
{
"query": {
"multi_match": {
"query": "toothbrush",
"fields": [
"product_name",
"product_desc"
]
}
}
}
GET /product_index/product/_search
{
"query": {
"multi_match": {
"query": "PHILIPS toothbrush",
"type": "cross_fields",
"operator": "and",
"fields": [
"product_name",
"product_desc"
]
}
}
}
GET /product_index/product/_search
{
"query": {
"match_phrase": {
"product_name": "PHILIPS toothbrush"
}
}
}
GET /product_index/product/_search
{
"query": {
"match_phrase": {
"product_name" : {
"query" : "PHILIPS HX6730",
"slop" : 1
}
}
}
}
GET /product_index/product/_search
{
"query": {
"bool": {
"must": {
"match": {
"product_name": {
"query": "PHILIPS HX6730"
}
}
},
"should": {
"match_phrase": {
"product_name": {
"query": "PHILIPS HX6730",
"slop": 10
}
}
}
}
}
}
GET /product_index/product/_search
{
"query": {
"match": {
"product_name": "PHILIPS HX6730"
}
},
"rescore": {
"window_size": 10,
"query": {
"rescore_query": {
"match_phrase": {
"product_name": {
"query": "PHILIPS HX6730",
"slop": 10
}
}
}
}
}
}
GET /product_index/product/_search
{
"query": {
"match_phrase_prefix": {
"product_name": "PHILIPS HX",
"slop": 5,
"max_expansions": 20
}
}
}
GET /product_index/product/_search
{
"query": {
"term": {
"product_name": "PHILIPS toothbrush"
}
}
}
GET /product_index/product/_search
{
"query": {
"constant_score": {
"filter":{
"term": {
"product_name": "PHILIPS toothbrush"
}
}
}
}
}
GET /product_index/product/_search
{
"query": {
"constant_score": {
"filter": {
"terms": {
"product_name": [
"toothbrush",
"shell"
]
}
}
}
}
}
GET /product_index/_search
{
"query": {
"bool": {
"must": [
{
"terms": {
"product_name": [
"PHILIPS",
"toothbrush"
]
}
},
{
"range": {
"price": {
"gt": 12.00
}
}
}
]
}
}
}
GET /product_index/product/_search
{
"query": {
"constant_score": {
"filter": {
"range": {
"price": {
"gte": 30.00
}
}
}
}
}
}
GET /product_index/product/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"product_name": "PHILIPS toothbrush"
}
}
],
"should": [
{
"match": {
"product_desc": "刷头"
}
}
],
"must_not": [
{
"match": {
"product_name": "HX6730"
}
}
],
"filter": {
"range": {
"price": {
"gte": 33.00
}
}
}
}
}
}
GET /product_index/product/_search
{
"query": {
"bool": {
"should": [
{
"term": {
"product_name": "飞利浦"
}
},
{
"bool": {
"must": [
{
"term": {
"product_desc": "刷头"
},
"term": {
"price": 30
}
}
]
}
}
]
}
}
}
GET /product_index/product/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"product_name": "java"
}
},
{
"match": {
"product_name": "程序员"
}
},
{
"match": {
"product_name": "书"
}
},
{
"match": {
"product_name": "推荐"
}
}
],
"minimum_should_match": 3
}
}
}
GET /product_index/product/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"product_name": "PHILIPS toothbrush"
}
}
],
"should": [
{
"match": {
"product_desc": "刷头"
}
}
],
"filter": {
"bool": {
"must": [
{
"range": {
"price": {
"gte": 33.00
}
}
},
{
"range": {
"price": {
"lte": 555.55
}
}
}
],
"must_not": [
{
"term": {
"product_name": "HX6730"
}
}
]
}
}
}
},
"sort": [
{
"price": {
"order": "desc"
}
}
]
}
GET /product_index/product/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"product_name": "toothbrush"
}
}
],
"should": [
{
"match": {
"product_name": {
"query": "PHILIPS",
"boost": 4
}
}
},
{
"match": {
"product_name": {
"query": "Braun",
"boost": 3
}
}
}
]
}
}
}
GET /product_index/product/_search
{
"query": {
"dis_max": {
"queries": [
{
"match": {
"product_name": "PHILIPS toothbrush"
}
},
{
"match": {
"product_desc": "iphone shell"
}
}
],
"tie_breaker": 0.2
}
}
}
GET /product_index/product/_search
{
"query": {
"dis_max": {
"queries": [
{
"match": {
"product_name": {
"query": "PHILIPS toothbrush",
"minimum_should_match": "50%",
"boost": 3
}
}
},
{
"match": {
"product_desc": {
"query": "iphone shell",
"minimum_should_match": "50%",
"boost": 2
}
}
}
],
"tie_breaker": 0.3
}
}
}
GET /product_index/product/_search
{
"query": {
"prefix": {
"product_name": {
"value": "iphone"
}
}
}
}
GET /product_index/product/_search
{
"query": {
"wildcard": {
"product_name": {
"value": "ipho*"
}
}
}
}
GET /product_index/product/_search
{
"query": {
"regexp": {
"product_name": "iphone[0-9].+"
}
}
}
GET /product_index/product/_search
{
"query": {
"match": {
"product_name": {
"query": "PHILIPS tothbrush",
"fuzziness": "AUTO",
"operator": "and"
}
}
}
}