CRUD
查询
- get(id查询):
192.168.136.133:9200/student/_doc/100
- 查看索引库:get student
- 查询数据:get student_search
post(查询所有):
192.168.136.133:9200/student/_doc/100/_search
创建
post(随机id):
192.168.136.133:9200/student/_doc
put(指定id):
192.168.136.133:9200/student/_doc/100
当id存在时,会替换原id下的数据,相当于修改修改
post:
192.168.136.133:9200/student/300/_update
删除
delete:
192.168.136.133:9200/student/_doc/100
类型
字段类型:long、integer、float、double、byte、keyword、text
创建索引,指定文档类型
put student
{
"mappings":{
"properties":{
"name":{
"type":"text"
},
"birthday":{
"type":"date"
},
"age":{
"type":"integer"
}
}
}
}
查询名称
默认单字分词
get student/_search
{
"query":{
"match":{
"name": "丽"
}
}
}
不分词
get student/_search
{
"query":{
"term": {
"name":"小华"
}
}
}
分页
# from 从第一条数据开始
# size 返回2条数据
get student/_search
{
"from":0,
"size":2
}
分词器
安装分词器
- 进入容器:
docker exec-it elasticsearch /bin/bash
- 创建文件夹:
mkdir /usr/share/elasticsearch/plugins/ik
- 把压缩包复制到ik下:
docker cp /opt/elasticsearch-analysis-ik-7.16.3.zip elasticsearch:/usr/share/elasticsearch/plugins/ik/
- 进入ik目录解压
- 进入容器:
docker exec-it elasticsearch /bin/bash
- 进入ik:
cd /usr/share/elasticsearch/plugins/ik
- 解压:
unzip elasticsearch-analysis-ik-7.16.3.zip
- 进入容器:
- 删除压缩包:
rm -rf elasticsearch-analysis-ik-7.16.3.zip
重启容器:
docker restart elasticsearch
指定分词类型
put student
{
"mappings":{
"properties":{
"name":{
"type":"text",
"analyzer":"ik_max_word"
},
}
}
}
常用分词方式
单字分词:
standard
- 最大分词:
ik_max_word
- 最小分词:
ik_smart
查看分词方式
get _analyze
{
"analyzer":"ik_max_word",
"text":"我是中国人"
}
分词搜索
按设定分词方式搜索
get person/_search
{
"query":{
"match":{
"name":"国人"
}
}
}
条件整体搜索
get person/_search
{
"query":{
"term":{
"name":"国人"
}
}
}
模糊搜索
get person/_search
{
"query":{
"wildcard":{
"name":"中*"
}
}
}