记一次 kibana ES 6.5.1 索引创建
用kibana 创建索引和mapping
·
用kibana 创建索引和mapping,可以直接拿走照搬
1 、打开 kibana dev-tools
ttps://img-blog.csdnimg.cn/1f461644e9004d6c8631989a23957e70.png)
2、创建索引 index_xxx
PUT index_xxx
{
"settings": {
"index": {
"mapping": {
"total_fields": { //设置mapping 中字段个数,默认 1000
"limit": "2000"
}
},
"number_of_shards": "20",
"max_result_window": "2000000000",//最大查询结果数,不设置 默认应该是50W
"analysis": { //分词器 需要提前安装,没有额外分词器,可以去掉
"analyzer": {
"analyzer_sz_tsconvert": {
"filter": [
"lowercase",
"asciifolding"
],
"char_filter": [
"tsconvert"
],
"tokenizer": "sz_tokenizer"
}
},
"char_filter": {
"tsconvert": {
"convert_type": "t2s",
"type": "stconvert"
}
},
"tokenizer": {
"sz_tokenizer": {
"token_chars": [
"letter",
"digit"
],
"min_gram": "1",
"type": "ngram",
"max_gram": "1"
}
}
}
}
}
}
3、创建映射mapping
PUT /index_xxx/type_xxx/_mapping
{
"type_xxx": { //type 名称 要和 PUT 命令中一致
"dynamic": "true",
"dynamic_templates": [
{
"named_user": {
"mapping": {
"store": true,
"type": "keyword"
},
"match": "user_column_*"
}
}
],
"properties": { //设置字段类型
"xx_01": { //short类型
"store": true,
"type": "short"
},
"xx_02": { //integer类型
"store": true,
"type": "integer"
},
"xx_03": { //long类型
"store": true,
"type": "long"
},
"xx_04": { //keyword 类型
"store": true,
"type": "keyword"
},
"xx_05":{ //date 类型,时间也可以用long 型的时间戳存储
"format":"yyyy-MM-dd HH:mm:ss",
"store":true,
"type":"date"
},
"xx_06": { //text 类型,支持全文搜索
"type": "text",
"index": true
},
"xx_07": { //keyword类型,支持 关键词搜索
"type": "keyword",
"index": true
},
"xx_08": { //text 类型 指定类型分词器
"analyzer": "analyzer_sz_tsconvert",
"type": "text"
},
"xx_09": { //既支持全文搜索又支持关键词搜索
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
}
}
}
}
4、创建别名 (一定要用别名哦好处大大滴)
POST /_aliases
{
"actions": [
{
"add": {
"index": "index_xxx",
"alias": "index_xxx_alias"
}
}
]
}
另外 也可以采用 动态模板 创建 索引 ,设置动态模板,然后直接插入数据即可,设置动态模板只针对于新建的索引生效,历史索引无效,这部分是摘取的
原文链接地址
PUT _template/xxx_template
{
"index_patterns": ["shop*", "bar*"], // 可以通过"shop*"和"bar*"来适配
"order": 0, // 模板的权重, 多个模板的时候优先匹配用, 值越大, 权重越高
"settings": {
"number_of_shards": 1 // 分片数量, 可以定义其他配置项
},
"aliases": {
"alias_1": {} // 索引对应的别名
},
"mappings": {
// ES 6.0开始只支持一种type, 名称为“_doc”
"_doc": {
"_source": { // 是否保存字段的原始值
"enabled": false
},
"properties": { // 字段的映射
"@timestamp": { // 具体的字段映射
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"@version": {
"doc_values": true,
"index": "false", // 设置为false, 不索引
"type": "text" // text类型
},
"logLevel": {
"type": "long"
}
}
}
}
}
ES7.0+以后 创建索引 和映射
1、PUT XXXX XXX索引名称
2、PUT XXXX/_mapping
{
"properties": {
"website": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
}
}
}
修改索引返回数量最大值
kibana
PUT xxx_索引名/_settings
{
"index":{
"max_result_window":1000000
}
}
更多推荐
已为社区贡献3条内容
所有评论(0)