1,ES8更新内容
(1)Rest API相比较7.x而言做了比较大的改动(比如彻底删除_type),为了降低用户的升级成本,8.x会暂时的兼容7.x的请求。
(2)默认开启安全配置(三层安全),并极大简化了开启安全需要的工作量,可以这么说:7.x开启安全需要10步复杂的步骤比如CA、证书签发、yml添加多个配置等等,8.x只需要一步即可)。
(3)存储空间优化:更新了倒排索引,对倒排文件使用新的编码集,对于keyword、match_only_text、text类型字段有效,有3.5%的空间优化提升,对于新建索引和segment自动生效。
(4)优化geo_point,geo_shape类型的索引(写入)效率:15%的提升。
(5)新特性:支持上传pyTorch模型,在ingest的时候使用。比如在写入电影评论的时候,如果我们想要知道这个评论的感情正负得分,可以使用对应的AI感情模型对评论进行运算,将结果一并保存在ES中。
(6)技术预览版KNN API发布,(K邻近算法),跟推荐系统、自然语言排名相关。之前的KNN是精确搜索,在大数据集合的情况会比较慢,新的KNN提供近似KNN搜索,以提高速度。
(7)对ES内置索引的保护加强了:elastic用户默认只能读,如果需要写权限的时候,需有allow_restrict_access权限
2,ES8基本概念
与MySQL对比,索引相当于数据库,映射相当于表结构,文档为每一行记录
3,创建索引
PUT /索引名称
{
"settings":{
"number_of_shards": 1, // 分片数量
"number_of_replicas": 1 // 副本数量
},
"mappings":{
"properties": {
"name":{
"type":"text"
}
}
}
}
4,安装ik分词器
1,下载对应ik版本至plugin目录
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-8.9.2.zip
2,在plugin目录种新建ik
mkdir ik
3,解压ik压缩包到ik目录种
unzip -d ik/ elasticsearch-analysis-ik-8.9.2.zip
4,重启es
5,测试是否安装成功
POST /_analyze
{
"analyzer": "ik_smart",
"text": "旺仔牛奶真好喝"
}
5, es中的datatype
ElasticSearch系列03:ES的数据类型 – 知乎 (zhihu.com)
6,基本命令
1,删除索引
DELETE /indexName
2,复制索引数据
POST /_reindex
{
"source":{
"index":"原索引名称"
},
"dest":{
"index":"新索引名称"
}
}