快速入门ElasticSearch(上)( 六 )
文章插图
然后首页会自动刷新 , 可以看到索引名称为movie的索引已经被删除了:
文章插图
这样关于数据的删除就先学习到这里 , 后续开始学习如何查询数据 。
数据查询接下来开始学习较为重要的数据查询 , 数据查询包括简单查询、条件查询和聚合查询这三种 , 下面将仔细学习这三种查询方式 。 考虑到后续的需要 , 这里就新创建了一个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索引已经创建成功 , 如下所示:
文章插图
接下来就是为这个book索引添加文档 , 这里提前准备了一些数据 , 如下所示:
文章插图
首先来学习简单查询 , 使用Postman测试工具 , 选择GET方法 , 使用的接口为/book/novel/文档id , 然后查看结果:
文章插图
接着再来学习条件查询 , 注意条件查询使用POST方法 , 使用的接口为/book/_search , 然后构建一个查询的JOSN信息 , 注意所有的信息都必须包含在query这个关键词内 , match_all表示查询所有的结果信息:
{ "query": {"match_all": {} }}
文章插图
请注意这里面的took表示查询所花费的时间 , 单位为毫秒;hits表示查询的全部结果数 , 可以看到有12条信息 , 但是此处只会显示10条 , 我们可以自己来指定返回的数量以及从从何处返回 , 只需在上述JSON格式信息中添加过滤条件即可 , from表示从查询的第一个数据开始返回 , size表示只返回一个:
{ "query": {"match_all": {} }, "from": 1, "size": 1}
运行结果如下所示:
文章插图
上面的条件查询没设置过滤条件 , 接下来尝试查询所有title中包含Java的文档 , 此时对应的JSON格式信息如下:
{ "query": {"match": {"title": "Java"} }}
然后点击查询 , 可以发现居然只查询到两条 , 而title中包含JavaScript的却没有查询到:
文章插图
查询结果默认是根据_score倒序排列的 , 开发者可以自定义排序字段 , 如使用出版时间publish_date , 然后将其默认的升序排序修改为倒序:
{ "query": {"match": {"title": "Java"} }, "sort": {"publish_date": {"order": "desc"} }}
最后再来学习聚合查询 , 所谓的聚合查询就是指将多个相同的数据进行统计查询 , 如根据字数对书籍进行聚合查询 , 相应的JSON格式信息为:
{ "aggs": {"group_by_word_count": {"terms": {"field": "word_count"}} }}
推荐阅读
- 苹果两款新iPad齐曝光:性能提高、入门款更轻薄、售价便宜
- “千店同开”引质量担忧,小米回应
- RHEL 9提升了x86_64处理器的入门要求
- 企业|技术快速迭代倒逼知识产权“贴身”服务,上海首家AI商标品牌指导站入驻徐汇西岸
- 三星Galaxy A52 5G通过3C认证 支持最高15W快速充电
- 入门HiFi享好声,这几款耳机绝对值得入手
- 大健康速递丨腾讯上线疫苗接种服务区;华大基因研发出快速鉴定盒
- DIY从入门到放弃:电源挑贵的买就靠谱吗?
- 小米联合京东及爱回收推全新换机服务 帮你快速换新机
- 西安奕斯伟硅产业基地项目建设刷新我国建设大硅片制造项目的最快速度