1. match_all
{ "match_all": {}} 匹配所有的, 当不给查询条件时,默认。
2. match
进行full text search或者exact value(非string字段或not_analyzed的字段),进行匹配
3. multi_match
同时对多个字段进行同样的match
{
"multi_match": {
"query": "full text search",
"fields": [ "title", "body" ]
}
}
4. range
对number或时间字段进行
{
"range": {
"age": {
"gte": 20,
"lt": 30
}
}
}
5. term
对字段进行确切值(exact value)的查询,如数字、时间、bool、not_analyzed字段等。
{ "term": { "age": 26 }}
{ "term": { "date": "2014-09-01" }}
{ "term": { "public": true }}
{ "term": { "tag": "full_text" }}
6. terms
和term一样, 不同的是,可以指定多个值来进行精确匹配
{ "terms": { "tag": [ "search", "full_text", "nosql" ] }}
7. exists/missing
用来查找某个字段是否有值, 类似SQL中的 not is_null/is_null
{
"exists": {
"field": "title"
}
}