简介
本文主要介绍两方面知识
- 创建存放爬取文档的index
- 创建用于访问ES的用户
索引创建
第一个版本
创建一个名为es_doc_v1
(第一个版本)的索引并为索引创建一个别名es_doc
索引字段信息
字段名 | 描述 | 类型 | 分词器 |
---|---|---|---|
title | 标题 | text | ik_max_word |
url | url地址 | keyword | |
content | 内容 | text | ik_max_word |
crawlDate | 爬取时间 | date |
# 创建索引(版本1)
PUT es_doc_v1?include_type_name=false
{
"settings": {
"number_of_replicas": 1,
"number_of_shards": 1,
"index.highlight.max_analyzed_offset":10000000
},
"mappings": {
"properties": {
"title":{
"type": "text",
"analyzer": "ik_max_word"
},
"url":{
"type": "keyword"
},
"content":{
"type": "text",
"analyzer": "ik_max_word"
},
"crawlDate":{
"type": "date"
}
}
}
}
# 创建别名
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "es_doc_v1", "alias" : "es_doc" } }
]
}
#别名查看
GET _cat/indices/es*?v
测试数据写入
# 写入测试数据
PUT es_doc/_doc/1
{
"title":"第一个测试文档",
"url":"https://www.elastic.co",
"content":"ElasticSearch是一个基于Lucene的搜索服务器",
"crawlDate":"2019-10-19T10:17:48.531+08:00"
}
# 查询插入数据
GET es_doc/_search
{
"query": {
"match": {
"_id": "1"
}
}
}
# 查询返回数据
{
"took" : 3,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [
{
"_index" : "es_doc_v1",
"_type" : "_doc",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"title" : "第一个测试文档",
"url" : "https://www.elastic.co",
"content" : "ElasticSearch是一个基于Lucene的搜索服务器",
"crawlDate" : "2019-10-19T10:17:48.531"
}
}
]
}
}
索引版本升级
创建名称为es_doc_v2
(第二个版本)的索引对es_doc_v1
索引进行升级,并将别名es_doc
指向es_doc_v2
。
第二个版本的索引es_doc_v2
中添加如下字段,并将副本数改为0
字段名 | 描述 | 类型 | 分词器 |
---|---|---|---|
toEsDate | 写入ES时间 | date | |
fileName | 文件名 | keyword |
# 创建新版本索引es_doc_v2
PUT es_doc_v2?include_type_name=false
{
"settings": {
"number_of_replicas": 0,
"number_of_shards": 1,
"index.highlight.max_analyzed_offset":10000000
},
"mappings": {
"properties": {
"fileName":{
"type": "keyword"
},
"title":{
"type": "text",
"analyzer": "ik_max_word"
},
"url":{
"type": "keyword"
},
"content":{
"type": "text",
"analyzer": "ik_max_word"
},
"crawlDate":{
"type": "date"
},
"toEsDate":{
"type": "date"
}
}
}
}
# 将1版本索引中的数据迁移到2版本中
POST _reindex
{
"source": {
"index": "es_doc_v1"
},
"dest": {
"index": "es_doc_v2"
}
}
# 检查测试数据是否迁移到es_doc_v2中
GET es_doc_v2/_search
{
"query": {
"match": {
"_id": "1"
}
}
}
# 移除别名执行1版本,添加别名指向2版本
POST /_aliases
{
"actions" : [
{ "remove" : { "index" : "es_doc_v1", "alias" : "es_doc" } },
{ "add" : { "index" : "es_doc_v2", "alias" : "es_doc" } }
]
}
# 别名es_doc中是否有测试数据
GET es_doc/_search
{
"query": {
"match": {
"_id": "1"
}
}
}
# 删除1版本的索引
DELETE es_doc_v1
用户创建
创建角色
创建一个名为search_admin
的角色,角色具备对es_doc*
的all
权限
在kinana中依次点击管理
->角色
->创建角色
输入角色名称并配置索引权限,然后点击创建角色
创建成功后,右下角会有成功提示,如下图所示
创建用户
创建一个名为search
的用户,具备search_admin
和kibana_user
角色
在kinana中依次点击管理
->用户
->创建用户
输入用户名search
,密码123456
,授权search_admin
,kibana_user
角色,然后点击创建用户
用户创建成功后,会在右下角有提示,如下图所示
测试用户
注销当前用户,然后用search
用户登入,在开发工具看能否查询es_doc
数据,如下图所示
至此,索引及用户创建完成