
epages/elasticsearch-icu本镜像基于Elasticsearch官方镜像构建,预集成ICU Analysis插件,提供增强的多语言文本处理能力。ICU Analysis插件基于ICU(International Components for Unicode)库,支持Unicode标准文本分析、多语言分词和字符规范化,是构建国际化搜索和多语言数据处理系统的关键组件。
通过Docker命令快速启动包含ICU Analysis插件的Elasticsearch实例:
bashdocker run -d \ --name elasticsearch-icu \ -p 9200:9200 \ -p 9300:9300 \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ docker.elastic.co/elasticsearch/elasticsearch-icu:8.11.3
yamlversion: '3.8' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch-icu:8.11.3 container_name: elasticsearch-icu environment: - discovery.type=single-node - ES_JAVA_OPTS=-Xms1g -Xmx1g - xpack.security.enabled=false ports: - "9200:9200" - "9300:9300" volumes: - es_data:/usr/share/elasticsearch/data restart: unless-stopped volumes: es_data:
支持Elasticsearch官方镜像的所有环境变量,关键配置项包括:
discovery.type:节点发现模式(单节点部署设为single-node)ES_JAVA_OPTS:Java内存配置(建议设置为物理内存的50%,如-Xms2g -Xmx2g)xpack.security.enabled:是否启用安全功能(生产环境建议设为true)ELASTIC_PASSWORD:当启用安全功能时,设置elastic用户密码通过索引设置启用ICU分析器。以下示例创建支持多语言文本的索引:
bash# 创建包含ICU分析器的索引 curl -X PUT "http://localhost:9200/multilingual_docs" -H "Content-Type: application/json" -d '{ "settings": { "analysis": { "analyzer": { "icu_multilingual_analyzer": { "type": "custom", "tokenizer": "icu_tokenizer", "filter": ["icu_normalizer", "icu_folding", "icu_collation"] } } } }, "mappings": { "properties": { "content": { "type": "text", "analyzer": "icu_multilingual_analyzer", "fields": { "keyword": { "type": "keyword" } } } } } }'
容器启动后,通过以下命令验证ICU插件状态:
bash# 检查已安装插件 curl "http://localhost:9200/_cat/plugins?v" # 预期输出(示例) name component version elasticsearch-icu icu-analysis 8.11.3
通过挂载自定义elasticsearch.yml实现高级配置:
bashdocker run -d \ --name elasticsearch-icu \ -p 9200:9200 \ -v /path/to/your/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ docker.elastic.co/elasticsearch/elasticsearch-icu:8.11.3
示例elasticsearch.yml配置:
yaml# 全局启用ICU分析器 indices.analysis.analyzer.default.type: icu_multilingual_analyzer indices.analysis.filter.icu_normalizer.type: icu_normalizer indices.analysis.filter.icu_normalizer.name: nfc indices.analysis.tokenizer.icu_tokenizer.type: icu_tokenizer




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务