Rest风格
基本Rest命令说明:
method | url地址 | 描述 |
---|---|---|
PUT(创建修改) | localhost:9200/索引名称/类型名称/文档id | 创建文档(指定文档id) |
POST(创建) | localhost:9200/索引名称/类型名称 | 创建文档(随机文档id) |
POST(修改) | localhost:9200/索引名称/类型名称/文档id/_update | 修改文档 |
DELETE(删除) | localhost:9200/索引名称/类型名称/文档id | 删除文档 |
GET(查询) | localhost:9200/索引名称/类型名称/文档id | 查询文档通过文档id |
POST(查询) | localhost:9200/索引名称/类型名称/文档id/_search | 查询所有数据 |
一、关于索引的基本操作
1.测试 创建一个索引
2.字段数据类型
- 字符串类型
- text、keyword
- text:支持分词,全文检索,支持模糊、精确查询,不支持聚合,排序操作;text类型的最大支持的字符长度无限制,适合大字段存储
- keyword:不进行分词,直接索引、支持模糊、支持精确匹配,支持聚合、排序操作。keyword类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置ignore_above指定自持字符长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果。
- text、keyword
- 数值型
- long、Integer、short、byte、double、float、half float、scaled float
- 日期类型
- date
- te布尔类型
- boolean
- 二进制类型
- binary
指定字段的类型:
查看默认的信息(如果没有指定自己的文档字段,ES会默认配置字段类型) :
扩展(可以通过GET _cat/获得ES当前的索引情况):cat命令详解
3.修改
-
1.使用PUT覆盖原来的值
-
2.使用POST的update修改
4.删除
- 删除索引
或者
- 删除文档记录
二、关于文档的基本操作
1.添加数据
2.简单查询(?传参)
3.复杂查询
<1>查询匹配
match:匹配(会使用分词器解析(先分析文档,然后进行查询))
_source:过滤字段
sort:排序
form:从第几个数据开始(以0开始)
size:单页面返回多少条数据
<2>多条件查询(bool)
- must:相当于 and
- should:相当于 or
- must_not:相当于 not (… and …)
- filter:数据过滤
- gt 大于
- gte 大于等于
- lt 小于
- lte小于等于
- tags 多个条件使用空格隔开 只要满足其中一个结果就可以被查出 后面可以通过分值来判断权重
<3>匹配数组
貌似不能与其它字段一起使用
可以多关键字查(空格隔开)— 匹配字段也是符合的
match 会使用分词器解析(先分析文档,然后进行查询)
搜词
<4>精确查询
term 直接通过 倒排索引 指定词条查询
适合查询 number、date、keyword ,不适合text
<5>text和keyword
text:
支持分词,全文检索、支持模糊、精确查询,不支持聚合,排序操作;
text类型的最大支持的字符长度无限制,适合大字段存储;
keyword:
不进行分词,直接索引、支持模糊、支持精确匹配,支持聚合、排序操作。
keyword类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置ignore_above指定自持字符长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果。
<6>高亮查询
参考资料:遇见狂神说