保持清醒,不断思考。

Mike lucis


  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 联系
  •     

© 2023 Mike lucis

Theme Typography by Makito

Proudly published with Hexo

备案号: 湘ICP备2021005917号-1

友情链接: Lonely's Bolg

ღゝ◡╹)ノ♡

ElasticSearch-索引映射

发布于 2021-07-04 BigData  ElasticSearch 

¶ ElasticSearch 索引映射

环境版本:
ElasticSearch 7.11.1

¶ Mapping 映射

字段属性:

属性 描述 适用类型
store 值为: yes 或者 no 设为 yes 就是存储,no 就是不存储, 默认值是 no all
index 值为: analyzed, not_ analyzed 或者 no analyzed 索引且分析
not_analyzed 索引但是不分析
no 不索引这个字段,这样就搜不到
默认值是 analyzed string
其他类型只能设为 no 或 not_analyzed
null_value 如果字段是空值, 通过它可以设置一个默认值,比如 “ null_value ”: “NA” all
boost 设置字段的权值, 默认值是1.0 all
index_analyzer 设置一个索引时用的分析器 all
search_analyzer 设置一个搜索时用的分析器 all
analyzer 可以设置索引和搜索时用的分析器, 默认下 elasticsearch 使用的是 standard 分析器 除此之外,你还可以使用 whitespace 、 simple 或 english 这三种内置的分析器 all
include_in_all 默认下 elasticsearch 会为每一个文档定义一个特殊的域 _all, 它的作用就是每一个字段都将被搜索到, 如果你不想让某个字段被搜索到, 那么就在这字段里定义一个 include_in_all=false; 默认值是 true all
index_name 定义字段的名称; 默认值是字段本身的名字 all
norms norms 的作用是根据各种规范化因素去计算权值,这样方便查询; 在 analyzed 定义字段里,值是 true, not_analyzed 是 false all

¶ 静态映射

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 建立索引并指定映射
PUT {{url}}/library
{{HEAD}}

{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
"properties": {
"name": {"type":"text", "index": false},
"title": {"type": "text"},
"publish_date": {"type": "date", "index": false},
"price": {"type": "double"},
"number": {"type": "integer"}
}
}
}
1
2
# 查看当前索引映射
GET {{url}}/library/_mapping

¶ 动态映射

文档中碰到一个以前没见过的字段时,动态映射可以自动决定该字段的类型,并对该字段添加映射

如何配置动态映射: dynamic true 默认,动态添加字段,false 忽略新字段,strict 碰到陌生字段,抛出异常

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
PUT {{url}}/library2
{{HEAD}}

{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
# ↓↓↓
"dynamic": "strict",
"properties": {
"name": {"type":"text", "index": false},
"title": {"type": "text"},
"publish_date": {"type": "date", "index": false},
"price": {"type": "double"},
"number": {"type": "object", "dynamic": true}
}
}
}
1
GET {{url}}/library2/_mapping

¶ 其他用法

1
2
# 查看所有索引映射
GET {{url}}/_all/_mapping
1
2
# 查看指定索引映射
GET {{url}}/library,library2/_mapping

分享到 

 上一篇: ElasticSearch-批量操作 下一篇: ElasticSearch-CRUD 

© 2023 Mike lucis

Theme Typography by Makito

Proudly published with Hexo

备案号: 湘ICP备2021005917号-1

友情链接: Lonely's Bolg

ღゝ◡╹)ノ♡