标签:ref 日期 ast arch post book 字段 语法 text
基础查询{
"query":{
"match_all":{}
}
}
{
"query":{
"match":{
"title":"入门到精通"
}
},
"from":1,
"size":5,
"sort":{
"publish_date":{
"order":"asc"
}
}
}
{
"aggs":{
"group_by_word_count":{
"terms":{
"field":"word_count"
}
},
"group_by_publish_date":{
"terms":{
"field":"publish_date"
}
}
}
}
{
"aggs":{
"total_word_count":{
"stats":{
"field":"word_count"
}
}
}
}
{
"aggs":{
"max_word_count":{
"max":{
"field":"word_count"
}
}
}
}
1.子条件查询 又称叶子条件查询(特定字段查询所指特定的值)
- 1.1Query Context
在查询的过程中,除了判断文档是否满足查询条件外,ES还会计算一个_score来标识匹配的程度,旨在判断目标文档和查询条件的匹配程度有多好。
{
"query":{
"match":{
"title":"PHP从入门到精通"
}
}
}
会匹配PHP、从入门到精通两个关键词
{
"query":{
"match_phrase":{
"title":"PHP从入门到精通"
}
}
}
{
"query":{
"multi_match":{
"query":"PHP",
"fields":["title","author"]
}
}
}
查询title或author中包含PHP关键字
{
"query":{
"query_string":{
"query":"(PHP AND 入门) OR 普改"
}
}
}
文本字段同时包含PHP和入门两个关键词或者文本字段包含普改
{
"query":{
"query_string":{
"query":"PHP",
"fields":["title","author"]
}
}
}
- 1.1.2字段级别查询:针对结构化数据,如数字、日期等
{
"query":{
"term":{
"author":"普改"
}
}
}
{
"query":{
"range":{
"word_count":{
"gte":"170000",
"lte":"200000"
}
}
}
}
{
"query":{
"range":{
"publish_date":{
"gte":"2018-01-01",
"lte":"2019-12-30"
}
}
}
}
{
"query":{
"range":{
"publish_date":{
"gte":"2019-01-01",
"lte":"now"
}
}
}
}
1.2Filter Context
在查询过程中,只判断该文档是否满足条件,只有yes或者no.
(query判断yes或者no,还会_score匹配程度)
ES会对查询结果做缓存,故速度比Query要快
{
"query":{
"bool":{
"filter":{
"term":{
"author":"普改"
}
}
}
}
}
2.复合条件查询(以一定的逻辑组合子查询查询)
[学习ES系列]-4.ElasticSearch基础交互-基础查询与高级查询
标签:ref 日期 ast arch post book 字段 语法 text
原文地址:http://blog.51cto.com/phpme/2345048