一、mappings参数

参数 解释 默认
analyzer 分词器
search_analyser 搜索词分词器
doc_values 正排索引选项
enabled 是否创建倒排索引
index 未是否对创建对当前字段创建索引,如果不创建索引,该字段不会通过索引被搜索到,但是仍然会在source元数据中展示 true
fielddata 搜索时正排索引选项
fields 字段
properties 字段属性
format 常用语时间类型字段的格式化
ignore_above 字段保留的长度
meta 金针菇
normalizer processon 07分词器图
norms 计算评分用的,如果你确定当前字段将来不需要计算评分,设置false可以节省大量的磁盘空间,有助于提升性能。常见的比如filter和agg字段,都可以设为关闭。 true
null_value 为null值设置默认值
similarity 相关度评分算法
BM25:概率相关性模型(5.0之后(包括)默认算法)
ii.classic:空间向量模型(向量空间模型),TF-IDF(5.0之前)
iii.boolean:
store 开辟另一块存储空间,可以节省带宽
注意:_sourse:设置为false,则不存储元数据,可以节省磁盘,并且不影响搜索。但是禁用_source必须三思而后行:
1.updateupdate_by_queryreindex不可用。
2.高亮失效
3.reindex失效,原本可以修改的mapping部分参数将无法修改,并且无法升级索引
4.无法查看元数据和聚合搜索
5.影响索引的容灾能力。
如果是出于节省磁盘空间的目的,可以考虑压缩元数据(LZ4压缩)。但是会损失性能

二、settings参数

参数 说明 默认值 是否可修改
mapping
index.number_of_shards 主分片个数,每个索引分片数量上限是1024,通过以下方式修改。
export ES_JAVA_OPTS=”-Des.index.max_number_of_shards=128”
7.0以前默认是5
7.x默认是1
false
number_of_replicas 为每个主分片分配的副本个数 1 true
index.shard.check_on_startup 检查分片是否损坏(不要轻易修改)
false:不检查(默认)
b)checksum:检查物理损坏
c)true:检查物理损坏和逻辑损坏(消耗大量CPU和内存资源)。
false false
index.codec best_compression(压缩元数据,会降低性能) false
ndex.auto_expand_replicas 1根据集群中数据节点的数量自动扩展副本的数量。设置为以短划线分隔的上下限(例如0-5)或all 用于上限(例如0-all)。默认为false(即禁用)。 false true
index.max_result_window 最大值页容量 10000 true
index.blocks.read_only 设置为true使索引和元数据只读 false false
index.blocks.read 是否禁止索引读操作 false false
index.blocks.write 是否禁止写索引 false false
index.blocks.metadata 是否禁用元数据读写 false false
index.max_terms_count 查询语句最大term数 false
index.max_terms_count 查询语句最大term数
index.max_regex_length 正则最大长度 1000 false
index.routing.allocation.enable 控制索引的分片分配
all (默认):允许为所有分片分配分片。
primaries :仅允许为主要分片分配分片。
new_primaries :仅允许为新创建的主分片分配分片。
none :不允许分片分配。
all false
index.routing.rebalance.enable 分片自动均衡
all (默认):允许所有分片重新平衡。
primaries :仅允许对主要分片进行分片重新平衡。
replicas :仅允许对副本分片进行分片重新平衡。
none :不允许分片重新平衡
all false

三、_rollover 和 _index_template

  1. #插入person数据
  2. PUT _bulk
  3. {"index":{"_index":"person","_type":"_doc","_id":"1"}}
  4. { "name":"王帆" }
  5. #使用别名person-template指向person
  6. #person-template ==> person
  7. POST _aliases
  8. {
  9. "actions": [
  10. {
  11. "add": {
  12. "index": "person",
  13. "alias": "person-template"
  14. }
  15. }
  16. ]
  17. }
  18. #创建_rollover规则
  19. #person-template ==(满足条件)==> person-000001
  20. POST person-template/_rollover/person-000001
  21. {
  22. "conditions": {
  23. "max_age": "1d", //一天
  24. "max_docs": 2, //最大doc数量
  25. "max_size": "1gb" //最大索引磁盘空间
  26. }
  27. }
  28. #向person-template下插入满2条数据
  29. PUT _bulk
  30. {"index":{"_index":"person-template","_type":"_doc","_id":"1"}}
  31. { "name":"王帆" }
  32. {"index":{"_index":"person-template","_type":"_doc","_id":"2"}}
  33. { "name":"王帆" }
  34. #刷新
  35. POST person-template/_refresh
  36. GET person-template/_count
  37. #再次创建_rollover规则
  38. #person-template ==(满足条件)==> person-000002
  39. POST person-template/_rollover
  40. {
  41. "conditions": {
  42. "max_age": "1d", //一天
  43. "max_docs": 2, //最大doc数量
  44. "max_size": "1gb" //最大索引磁盘空间
  45. }
  46. }
  47. #再次向person-template下插入满2条数据
  48. PUT _bulk
  49. {"index":{"_index":"person-template","_type":"_doc","_id":"1"}}
  50. { "name":"王帆" }
  51. {"index":{"_index":"person-template","_type":"_doc","_id":"2"}}
  52. { "name":"王帆" }
  53. #再次创建_rollover规则
  54. #person-template ==(满足条件)==> person-000003
  55. POST person-template/_rollover
  56. {
  57. "conditions": {
  58. "max_age": "1d", //一天
  59. "max_docs": 2, //最大doc数量
  60. "max_size": "1gb" //最大索引磁盘空间
  61. }
  62. }
  63. #刷新
  64. POST person-template/_refresh
  65. GET person-template/_count
  66. GET person-000002/_count

创建 _index_template

  1. #创建
  2. POST _index_template/{template名字}
  3. {
  4. "index_patterns": [
  5. "person-*"
  6. ],
  7. "priority": 1,
  8. "template": {
  9. "mappings": {
  10. "properties": {
  11. "name":{
  12. "type": "text",
  13. "analyzer": "ik_max_word",
  14. "meta":{
  15. "这是一个自定义文本":"证明我来自于template"
  16. }
  17. }
  18. }
  19. },
  20. "settings": {
  21. "number_of_shards": 1,
  22. "number_of_replicas": 0
  23. }
  24. }
  25. }
  26. #删除
  27. DELETE _index_template/{template名字}
  28. #查询
  29. GET _index_template/{template名字}

四、断路器/熔断器