课程大纲
1、match all
GET /_search
{
"query": {
"match_all": {}
}
}
2、match
GET /_search
{
"query": { "match": { "title": "my elasticsearch article" }}
}
3、multi match
GET /test_index/test_type/_search
{
"query": {
"multi_match": {
"query": "test",
"fields": ["test_field", "test_field1"]
}
}
}
//test_field 或者 test_field1 中包含test
4、range query
GET /company/employee/_search
{
"query": {
"range": {
"age": {
"gte": 30
}
}
}
}
//查询age大于30的
5、term query
GET /test_index/test_type/_search
{
"query": {
"term": {
"test_field": "test hello"//不会对查询结果进行分词,也就是查询整个串 test hello,注意测试这个时候必须自己建立mapping ,对test_field这个字段不进行分词。只有这样才能查出
}
}
}
与
GET /test_index/test_type/_search
{
"query": {
"match": {
"test_field": "test hello"//match 会将查询请求进行分词
}
}
}
区别?
6、terms query
GET /_search
{
"query": { "terms": { "tag": [ "search", "full_text", "nosql" ] }}//对某个字段指定多个搜索词语
}
7、exist query(2.x中的查询,现在已经不提供了)