快速入门ElasticSearch(上)( 六 )


快速入门ElasticSearch(上)文章插图
然后首页会自动刷新 , 可以看到索引名称为movie的索引已经被删除了:
快速入门ElasticSearch(上)文章插图
这样关于数据的删除就先学习到这里 , 后续开始学习如何查询数据 。
数据查询接下来开始学习较为重要的数据查询 , 数据查询包括简单查询、条件查询和聚合查询这三种 , 下面将仔细学习这三种查询方式 。 考虑到后续的需要 , 这里就新创建了一个book索引 , 其对应的JSON信息为:
{ "settings": {"number_of_shards": 3,"number_of_replicas": 1 }, "mappings": {"novel": {"properties": {"word_count": {"type": "integer"},"author": {"type": "keyword"},"title": {"type": "text"},"publish_date": {"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}}} }}之后查看一下首页发现book索引已经创建成功 , 如下所示:
快速入门ElasticSearch(上)文章插图
接下来就是为这个book索引添加文档 , 这里提前准备了一些数据 , 如下所示:
快速入门ElasticSearch(上)文章插图
首先来学习简单查询 , 使用Postman测试工具 , 选择GET方法 , 使用的接口为/book/novel/文档id , 然后查看结果:
快速入门ElasticSearch(上)文章插图
接着再来学习条件查询 , 注意条件查询使用POST方法 , 使用的接口为/book/_search , 然后构建一个查询的JOSN信息 , 注意所有的信息都必须包含在query这个关键词内 , match_all表示查询所有的结果信息:
{ "query": {"match_all": {} }}
快速入门ElasticSearch(上)文章插图
请注意这里面的took表示查询所花费的时间 , 单位为毫秒;hits表示查询的全部结果数 , 可以看到有12条信息 , 但是此处只会显示10条 , 我们可以自己来指定返回的数量以及从从何处返回 , 只需在上述JSON格式信息中添加过滤条件即可 , from表示从查询的第一个数据开始返回 , size表示只返回一个:
{ "query": {"match_all": {} }, "from": 1, "size": 1}运行结果如下所示:
快速入门ElasticSearch(上)文章插图
上面的条件查询没设置过滤条件 , 接下来尝试查询所有title中包含Java的文档 , 此时对应的JSON格式信息如下:
{ "query": {"match": {"title": "Java"} }}然后点击查询 , 可以发现居然只查询到两条 , 而title中包含JavaScript的却没有查询到:
快速入门ElasticSearch(上)文章插图
查询结果默认是根据_score倒序排列的 , 开发者可以自定义排序字段 , 如使用出版时间publish_date , 然后将其默认的升序排序修改为倒序:
{ "query": {"match": {"title": "Java"} }, "sort": {"publish_date": {"order": "desc"} }}最后再来学习聚合查询 , 所谓的聚合查询就是指将多个相同的数据进行统计查询 , 如根据字数对书籍进行聚合查询 , 相应的JSON格式信息为:
{ "aggs": {"group_by_word_count": {"terms": {"field": "word_count"}} }}