文档管理
添加文档
定位到资源
url
http://localhost:9200/{index}/{type}/{_id}
_id:文档的id
方法
put、post
请求体:json数据格式
{
"id":1,
"name":"张三",
"address":"浙江杭州"
}
注意:_id
和id
不是同一个东西
_id
:文档的id,es自动创建
id
:一个自定义的字段
如果使用post方法添加文档,可以不设置文档的id,es会自动生成一个id(一般推荐使用put的写法,可以使id和_id保持一致)。
修改文档
其实就是先删除后添加。所以修改与添加的方法相同。
url:
http://localhost:9200/{index}/{type}/{_id}
方法:
POST
请求体:修改结果对应的文档。
删除文档
url:
http://localhost:9200/{index}/{type}/{_id}
方法:
delete
文档的查询
一、使用headmaster查询
数据过滤查询
简单查询功能:
-
根据id查询
-
根据term(关键词)查询:一个关键词就是一个term,包含两部分内容
关键词所在的域
关键词本身 -
根据query_string查询:先分词再进行查询
二、使用restful api查询
1、 根据id查询
定位到资源:
http://localhost:9200/{index}/{type}/{_id}
方法
GET
2、根据term查询
url
http://localhost:9200/{index}/{type}/_search
方法
POST
请求体
查询条件,使用json格式表示。
{
"query":{
"term":{
"name":"小"
}
}
}
3、根据query_string查询
url
http://localhost:9200/{index}/{type}/_search
方法
POST
请求体
{
"query":{
"query_string":{
"query":"小明在哪?",
"default_field":"name"
}
}
}
IK分词器安装
以插件形式安装到es中,注意es安装插件后,es的绝对路径中,不能有空格,否则会出现预料之外的错误!!!
下载地址,如果下载失败,则可以下载源代码然后使用maven进行编译打包
https://github.com/medcl/elasticsearch-analysis-ik/releases
安装方法:
- 下载ik的ES插件(注意要对应版本),如果下载速度慢,可以使用gitee
- 解压缩
- 解压后的文件夹复制到es的plugins目录下
- 重启es服务
测试分词器:可以通过一个url测试分词器的分词效果
使用get
方法即可
ik分词器的名称:
- ik_smart:快速分词
- ik_max_word:最细粒度分词
6.x以下版本的测试方法
http://localhost:9200/_analyze?analyzer=ik_max_word&text=我是程序员
6.x以上版本的测试方法
使用IK分词器
设置mapping时,指定中文分词器
创建新的索引库,添加数据
查询出来了两条结果