Skip to content

Instantly share code, notes, and snippets.

@yanglikun
Created June 19, 2017 11:14
Show Gist options
  • Save yanglikun/9d2598482660d5cb4250f3826d675fc3 to your computer and use it in GitHub Desktop.
Save yanglikun/9d2598482660d5cb4250f3826d675fc3 to your computer and use it in GitHub Desktop.
es查询
#match
GET /get-together/event/_search
{
"query": {
"match": {
"title": "hadoop"
}
}
}
#filtered query
GET /get-together/event/_search
{
"query": {
"filtered": {
"query": {
"match": {
"title": "hadoop"
}
},
"filter": {
"term": {
"host": "andy"
}
}
}
}
}
#match all query
GET /get-together/_search
{
"query": {
"match_all": {}
}
}
#use filter instead of query
#query can ignore,because it's default
GET /get-together/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"term": {
"host": "andy"
}
}
}
}
}
##query string query
#query string by url
GET /get-together/_search?q=nosql
#query string by body
GET /get-together/_search
{
"query":{
"query_string": {
"query": "nosql"
}
}
}
#specific field
GET /get-together/_search
{
"query": {
"query_string": {
"default_field": "description",
"query": "nosql"
}
}
}
GET /get-together/group/_mapping
## term query and term filter
#term query
GET /get-together/group/_search
{
"query": {
"term": {
"tags": "elasticsearch"
}
}
}
#term filter
GET /get-together/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"term": {
"tags": "elasticsearch"
}
}
}
}
}
#terms query
GET /get-together/group/_search
{
"query": {
"terms": {
"tags": ["jvm","hadoop"]
}
}
}
#terms query with minimum_should_match
#disabled on 2.0
GET /get-together/group/_search
{
"query": {
"terms": {
"tags": ["jvm","hadoop","lucene"],
"minimum_should_match": 2
}
}
}
##match query and term filter
#boolean query default or
GET /get-together/_search
{
"query": {
"match": {
"name": "Elasticsearch Denver"
}
}
}
#boolean query with and
GET /get-together/_search
{
"query": {
"match": {
"name": {
"query": "Elasticsearch denver",
"operator": "and"
}
}
}
}
#phrase query
GET /get-together/group/_search
{
"query": {
"match": {
"description": {
"type": "phrase",
"query": "search doing",
"slop": 2
}
}
}
}
#phrase query2
POST /phrase_index/phrase_type/_bulk
{ "index": { "_id": 1 }}
{ "title": "The quick brown fox" }
{ "index": { "_id": 2 }}
{ "title": "The quick brown fox jumps over the lazy dog" }
{ "index": { "_id": 3 }}
{ "title": "The quick brown fox jumps over the quick dog" }
{ "index": { "_id": 4 }}
{ "title": "Brown fox brown dog" }
GET /phrase_index/_search
GET /phrase_index/_search
{
"query": {
"match_phrase": {
"title": "quick brown Fox"
}
}
}
GET /phrase_index/_search
{
"query": {
"match_phrase": {
"title": {
"query": "fox quick",
"slop": 3
}
}
}
}
#phrase_prefix
PUT /phrase_prefix_index/phrase_prefix_type/_bulk
{"index":{"_id":1}}
{"title":"learn a"}
{"index":{"_id":2}}
{"title":"learn ab"}
{"index":{"_id":3}}
{"title":"learn abc"}
{"index":{"_id":3}}
{"title":"learn abcd"}
{"index":{"_id":4}}
{"title":"learn abcde"}
GET /phrase_prefix_index/phrase_prefix_type/_search
GET /phrase_prefix_index/phrase_prefix_type/_search
{
"query": {
"match": {
"title": {
"type": "phrase_prefix",
"query": "LEARN a",
"max_expansions": 2
}
}
}
}
# multi_match query
GET /get-together/_search
{
"query": {
"multi_match": {
"query": "elasticsearch hadoop",
"fields": [
"name",
"description"
]
}
}
}
##compound query
#bool query
GET /get-together/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"attendees": "david"
}
}
],
"should": [
{
"term": {
"attendees": {
"value": "andy"
}
}
},
{
"term": {
"attendees": {
"value": "clint"
}
}
}
],
"must_not": [
{
"range": {
"date": {
"lt": "2013-06-30T00:00"
}
}
}
],
"minimum_number_should_match": 1
}
}
}
#bool filter
GET /get-together/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"term": {
"attendees": "david"
}
}
],
"should": [
{
"term": {
"attendees": {
"value": "andy"
}
}
},
{
"term": {
"attendees": {
"value": "clint"
}
}
}
],
"must_not": [
{
"range": {
"date": {
"lt": "2013-06-30T00:00"
}
}
}
],
"minimum_number_should_match": 1
}
}
}
}
}
##range
#range query
GET /get-together/_search
{
"query": {
"range": {
"created_on": {
"gt": "2012-06-01",
"lt": "2012-09-01"
}
}
}
}
#range filter
GET /get-together/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"created_on": {
"gt": "2012-06-01",
"lt": "2012-09-01"
}
}
}
}
}
}
##prefix
#prefix query
GET /get-together/event/_search
{
"query": {
"prefix": {
"title": {
"value": "liber"
}
}
}
}
#prefix filter
GET /get-together/event/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"prefix": {
"title": "liber"
}
}
}
}
}
##wildcard query
PUT /wildcard_index/wildcard_type/_bulk
{"index":{"_id":1}}
{"title":"The Best Bacon Ever"}
{"index":{"_id":1}}
{"title":"How to raise a barn"}
GET /wildcard_index/_search
{
"query": {
"wildcard": {
"title": {
"wildcard": "b*n"
}
}
}
}
##existence
POST /existence_index/existence_type/_bulk
{ "index": { "_id": "1" }}
{ "user": "jane" }
{ "index": { "_id": "2" }}
{ "user": "" }
{ "index": { "_id": "3" }}
{ "user": "-" }
{ "index": { "_id": "4" }}
{ "user": ["jane"] }
{ "index": { "_id": "5" }}
{ "user": ["jane", null ] }
{ "index": { "_id": "6" }}
{ "user": [] }
{ "index": { "_id": "7" }}
{ "foo": "bar" }
{ "index": { "_id": "8" }}
{ "user":null }
GET /existence_index/_search
#exists filter
GET /existence_index/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"exists": {
"field": "user"
}
}
}
}
}
#missing filter
GET /existence_index/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"missing": {
"field": "user"
}
}
}
}
}
GET /existence_index/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"missing": {
"field": "user",
"existence": true,
"null_value": true
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment