#ignore_unavailable=true,可以忽略尝试访问不存在的索引“404_idx”导致的报错#查询movies分页
POST /movies,404_idx/_search?ignore_unavailable=true
{"profile": true,
"query":{"match_all":{}}}
POST /kibana_sample_data_ecommerce/_search
{"from":10,
"size":20,
"query":{"match_all":{}}}#对日期排序
POST kibana_sample_data_ecommerce/_search
{"sort":[{"order_date":"desc"}],
"query":{"match_all":{}}}#source filtering
POST kibana_sample_data_ecommerce/_search
{"_source":["order_date"],
"query":{"match_all":{}}}#脚本字段
GET kibana_sample_data_ecommerce/_search
{"script_fields":{"new_field":{"script":{"lang":"painless",
"source":"doc['order_date'].value+'hello'"}}},
"query":{"match_all":{}}}
POST movies/_search
{"query":{"match":{"title":"last christmas"}}}
POST movies/_search
{"query":{"match":{"title":{"query":"last christmas",
"operator":"and"}}}}
POST movies/_search
{"query":{"match_phrase":{"title":{"query":"one love"}}}}
POST movies/_search
{"query":{"match_phrase":{"title":{"query":"one love",
"slop":1}}}}
Query String & Simple Query String查询
Query String Query
类似URI Query
Simple Query String Query
类似Query String,但是会忽略错误的语法,同时只支持部分查询语法
不支持AND OR NOT,会当作字符串处理
Term之间默认的关系是OR,可以指定Operator
支持部分逻辑
+替代AND
| 替代OR
— 替代NOT
API
PUT /users/_doc/1
{"name":"Ruan Yiming",
"about":"java, golang, node, swift, elasticsearch"}
PUT /users/_doc/2
{"name":"Li Yiming",
"about":"Hadoop"}
POST users/_search
{"query":{"query_string":{"default_field":"name",
"query":"Ruan AND Yiming"}}}
POST users/_search
{"query":{"query_string":{"fields":["name","about"],
"query":"(Ruan AND Yiming) OR (Java AND Elasticsearch)"}}}#Simple Query 默认的operator是 Or
POST users/_search
{"query":{"simple_query_string":{"query":"Ruan AND Yiming",
"fields":["name"]}}}
POST users/_search
{"query":{"simple_query_string":{"query":"Ruan Yiming",
"fields":["name"],
"default_operator":"AND"}}}
GET /movies/_search
{"profile": true,
"query":{"query_string":{"default_field":"title",
"query":"Beafiful AND Mind"}}}# 多fields
GET /movies/_search
{"profile": true,
"query":{"query_string":{"fields":["title",
"year"],
"query":"2012"}}}
GET /movies/_search
{"profile":true,
"query":{"simple_query_string":{"query":"Beautiful +mind",
"fields":["title"]}}}
ElasticsearchRequestBody与QueryDSLRequest Body Search将查询语句通过HTTP Requedt Body发送给ElasticsearchQuery DSL分页From从0开始,默认返回10个结果获取靠后的翻页成本较高排序source filtering脚本字段使用查询表达式- Match短语搜索- Match PhraseAPI#ignore_unavailable=true,可以忽略尝试访问不存在的索引“40