1.操作ES的RESTful语法
1 | GET请求: |
1.1索引操作
1.1.1创建一个索引
1 | #创建一个person索引 |
1.1.2查看索引信息
1 | #查看索引信息 |
1.1.3删除索引
1 | #删除索引 |
1.2ES中Field可以指定的类型
1 | 字符串类型: |
1.3创建索引并指定数据结构
1 | #创建索引,指定数据结构 |
1.4文档的操作
1 | 文档再ES服务中的唯一标识, '_index' '_type' '_id'三个内容为符合,锁定一个文档,操作是添加还是修改。 |
1.4.1新建文档
自动生成_id
1 | #添加文档,自动生成id |
手动指定_id
1 | #添加文档,手动指定id |
1.4.2修改文档
覆盖式修改
1 | #添加文档,手动指定id |
doc修改方式
1 | #修改文档,基于doc方式 |
1.4.3删除文档
1 | #根据id删除文档 |
2. JAVA操作ES
2.1 JAVA连接ES
创建Maven工程
导入依赖
1 | 1.elasticsearch |
创建测试类,连接ES
1 | public class es { |
2.2 JAVA创建索引
1 | public class Demo2 { |
2.3检查索引是否存在,删除索引
检查索引是否存在
1 |
|
删除索引
1 | RestHighLevelClient client = es.getClient(); |
2.4 JAVA操作文档
2.4.1 添加文档操作
1 | public class Demo3 { |
2.4.1修改文档操作
1 |
|
2.4.2删除文档
1 |
|
2.5JAVA批量操作文档
2.5.1批量添加
1 |
|
2.5.2批量删除
1 |
|
3.ElasticSearch练习
索引:sms-logs-index
类型:sms-longs-type
4.ElasticSearch各种查询
4.1term&terms查询
4.1.1term查询
1 | POST /sms_logs_index/sms_loge_type/_search |
4.2match查询
match查询属于高层查询,他会根据你查询的字段类型不一样,采用不同的查询方式。
查询的是日期或者是数值的话,他会将你基于的字符串查询内容转换为日期或者数值对待。
如果查询的内容是一个不能被分词的内容(keyword),match查询不会对你指定的查询关键字进行分词
如果查询的内容是可以被分词的内容(text),match会将你指定的查询根据一定的方式去分词,去分词库中匹配指定的内容。
match查询,实际底层就是多个term查询,将多个term查询的结果给你封装到了一起.
4.2.1match_all
1 | POST /sms_logs_index/sms_logs_type/_search |
JAVA部分
1 |
|