ElasticSearch快速入门(二)
Java API
基于ElasticSearch7,不同版本可能有所不同
IDEA中创建一个Maven项目;
pom中添加依赖
1 | <dependencies> |
测试运行:
1 | import org.apache.http.HttpHost; |
测试运行,没有报错信息,正常结束,即为运行成功
控制台输出:
1 | 运行结束 |
索引操作
创建索引
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | 索引操作:true |
查看索引
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | {user=[]} |
删除索引
1 | import org.apache.http.HttpHost; |
控制台输出
1 | true |
文档操作
实体类:
1 | import lombok.AllArgsConstructor; |
创建文档
1 | import com.fasterxml.jackson.databind.ObjectMapper; |
控制台输出:
1 | CREATED |
修改文档
局部更新
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | UPDATED |
查询文档
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | UPDATED |
删除文档
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | DELETED |
批量操作
- 批量插入数据
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | 6ms |
- 批量删除数据
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | 5ms |
高级查询
一些常用的高级查询,在【HTTP操作】的高级查询中已经写的比较详细了,所以【Java API】里面就对详略进行了一些区分,略写的部分可以参考【HTTP操作】部分结合【Java API】中的高级查询详写的部分;
后续有时间的话也会对略写部分进行补充
首先创建查询需要的数据
1 | import org.apache.http.HttpHost; |
全量查询【matchAllQuery()】
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | 6 hits |
匹配查询【matchQuery()】
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | 2 hits |
字段匹配查询【multiMatchQuery()】
可参考前面部分及【HTTP操作】中对应的部分
关键字精确查询【termQuery()】
可参考前面部分及【HTTP操作】中对应的部分
多关键字精确查询【termsQuery()】
可参考前面部分及【HTTP操作】中对应的部分
过滤字段(fetchSource)
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | 2 hits |
组合查询【boolQuery()】
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | 4 hits |
范围查询【rangeQuery()】
1 | import org.apache.http.HttpHost; |
1 | 3 hits |
模糊查询
待补充
高亮查询【highlighter()】
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | took:1ms |
排序查询【sort】
待补充
分页查询【from】
1 | import org.apache.http.HttpHost; |
控制台输出:
1 | took:2ms |
聚合查询【aggregation()】
度量查询
包括最大值(max)、最小值(min)、平均值(avg)、求和(sum)、总数(count)、 去重后求总数(cardinality)、返回所有度量类型的统计(stats)等等。
桶聚合查询
在已有的分组条件下再进行聚合即为桶聚合,相当于MySQL中的group by 语句;桶聚合返回很多子集,并限定输入数据到一个特殊的叫做桶的子集中。可以把桶聚合想象成类似切面功能的东西。
term聚合:词条的聚合
terms聚合为字段中每个词条返回一个桶。允许你生成字段每个值的统计;
range聚合和date range聚合
范围聚合和时间范围聚合
桶嵌套
多个聚合的嵌套即为桶嵌套
评论