1、match all
查询所有
GET /_search
{
"query": {
"match_all": {}
}
}
2、match
匹配某一个filed是否包含文本
GET /_search
{
"query": { "match": { "title": "my elasticsearch article" }}
}
3、multi match
可以把搜索到的文本放到多个field上去
GET /test_index/test_type/_search
{
"query": {
"multi_match": {
"query": "test",
"fields": ["test_field", "test_field1"]
}
}
}
4、range query
范围查询
年龄 >= 30的员工
GET /company/employee/_search
{
"query": {
"range": {
"age": {
"gte": 30
}
}
}
}
5、term query
会把这个字段当成 exact value 全匹配来查询 不会进行分词
GET /test_index/test_type/_search
{
"query": {
"term": {
"test_field": "test hello"
}
}
}
6、terms query
GET /_search
{
"query": { "terms": { "tag": [ "search", "full_text", "nosql" ] }}
}
7、exist query(2.x中的查询,现在已经不提供了)
这个字段不能为空
GET /test_index/test_type/_search
{
"query": {
"exists": {
"field": "title"
}
}
}