记录ES的reindex操作
什么时候需要重建索引索引的mappings发生变更 索引的setting发生变更 集群内,集群间,需要做数据迁移 数据预处理Ingest Pipeline1234567891011121314151617181920212223242526272829PUT _ingest/pipeline/split_xxx{ "processors": [ { "split": { "field": "xxx", "separator": "," }, { "set": { "field": "xxx", "value": "0" } } } ]}# r...
Too many dynamic script compilations within, max[75/5m];
ResponseError: search_phase_execution_exception: [circuit_breaking_exception] Reason: [script] Too many dynamic script compilations within, max: [75/5m]; please use indexed, or scripts with parameters instead; this limit can be changed by the [script.context.number_sort.max_compilations_rate] setting
Elasticsearch 大小写查询完全指南:Normalizer 的正确使用
概述Elasticsearch 中不同字段类型对大小写的处理方式不同。text 类型默认不区分大小写,而 keyword 类型默认区分大小写。通过 normalizer 可以实现 keyword 类型的大小写不敏感查询。 核心内容: 🔤 分词器大小写处理机制 🔑 Keyword 类型的局限性 ⚙️ Normalizer 原理和使用 📊 实战案例演示 适用场景: 需要精确匹配但忽略大小写 聚合查询时统一大小写 城市、国家等枚举值查询 默认行为Standard 分词器(Text 类型)特点: 默认不区分大小写 处理机制: 12存储时:大写字符 → 自动转换为小写查询时:自动转换为小写匹配 示例: 123456789101112131415161718192021222324252627282930313233343536// 索引创建PUT /products{ "mappings": { "properties": { "name": { ...
Elasticsearch数据建模
Elasticsearch数据建模数据建模 数据建模是创建数据模型的过程 数据模型是对真实世界进行抽象描述的一种工具和方法,实现对现实世界的映射 三个过程:概念模型=》逻辑模型=》数据模型 数据模型:结合具体的数据库,在满足业务读写性能等需求的前提下,确定最终定义 数据建模:功能需求+性能需求 逻辑模型(功能需求) 实体属性 实体之间的关系 搜索相关的配置 物理模型(性能需求) 索引模版 分片数量 索引Mapping 字段配置 关系处理 对字段进行建模 字段类型: Text vs Keyword Text 用于全文本字段,文本会被Analyzer分词 默认不支持聚合分析及排序。需要设置fielddata为true Keyword 用于id,枚举及不需要分词的文本。例如电话号码,email地址,手机号码,邮政编码,性别等 适用于Filter(精确匹配),Sorting和Aggregations 设置多字段类型 默认会为文本类型设置成text,并且设置一个keyword的子字段 在处理人类语言时,通...
