[学习ES系列]-4.ElasticSearch基础交互-基础查询与高级查询

发布时间:2020-07-19 18:25:01 作者:hgditren
来源:网络 阅读:1329
基础查询

POST http://127.0.0.1:9200/book/_search

{
    "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.1.1全文本查询:针对文本类型(text)的数据
{
    "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"]
        }
    }
}
{
    "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.复合条件查询(以一定的逻辑组合子查询查询)

{
    "query":{
        "bool":{
            "must":{
                "match":{
                    "title":"PHP从入门到精通"
                }
            },
            "filter":{
                "range":{
                    "word_count":{
                        "gt":170000
                    }
                }
            }

        }
    },
    "from":1,
    "size":1
}
推荐阅读:
  1. Django注释符的使用实例
  2. 卡片式学习记忆软件Studies for Mac

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

基础查询 高级查询 st

上一篇:基于Robot Framework的验收测试驱动开发

下一篇:Apache安全加固--修复SSL/TLS弱密码漏洞(中危)和禁用TRACE/TRACK方法(高危)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》