Elasticsearch创建索引结构需考虑的问题
问题列表
- 字段类型分析
- 主键的问题
- keyword与text的判定,是否使用raw字段
- 模糊字段 分词器 插件的选择
- 大小写模糊搜索问题
- 空值默认值处理
- 索引分片及副本的设置
- 索引之间的关系问题
- 使用通用增改时间字段,不使用业务时间
Mapping
https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping.html
dynamic 是否自动生成字段,false不使用自动
type 字段类型
fields 子字段
null_value 默认值
Analysis 非结构文本分析器
https://www.elastic.co/guide/en/elasticsearch/reference/master/analysis.html
analyzer 分析器
https://www.elastic.co/guide/en/elasticsearch/reference/master/analysis-analyzers.html
tokenizer 拆词器
https://www.elastic.co/guide/en/elasticsearch/reference/master/analysis-edgengram-tokenizer.html
char_filter 过滤器
https://www.elastic.co/guide/en/elasticsearch/reference/master/analysis-tokenfilters.html
Settings
max_inner_result_window 条件范围内最大返回,建议不超过5千
max_result_window 最大返回 建议不超过5千
number_of_shards 分片数
number_of_replicas 副本数
字段类型、元字段参考
https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping-types.html
https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping-fields.html