20minutes/opensearch-icu本镜像基于OpenSearch官方镜像构建,预装了analysis-icu插件,专注于提供国际化文本分析能力。analysis-icu插件基于ICU(International Components for Unicode)库开发,支持多语言分词、字符规范化、Unicode文本处理等高级功能,适用于需要处理多语言内容的搜索场景,可直接部署使用,无需额外手动安装插件。
bashdocker run -d \ --name opensearch-icu \ -p 9200:9200 \ -p 9600:9600 \ -e "discovery.type=single-node" \ -e "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" \ opensearchproject/opensearch:latest
说明:默认情况下,容器会自动加载
analysis-icu插件,无需额外配置
容器启动后,可通过以下命令验证analysis-icu插件是否加载成功:
bashcurl -X GET "http://localhost:9200/_cat/plugins?v"
预期输出应包含analysis-icu插件信息,例如:
name component version opensearch-node-1 analysis-icu 2.11.0
支持通过环境变量配置OpenSearch核心参数,常用环境变量:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
discovery.type | 节点发现类型 | multi-node |
cluster.name | 集群名称 | docker-cluster |
node.name | 节点名称 | 容器ID |
OPENSEARCH_JAVA_OPTS | JVM参数配置 | -Xms1g -Xmx1g |
network.host | 网络绑定地址 | 0.0.0.0 |
示例:配置单节点模式与自定义JVM内存
bashdocker run -d \ --name opensearch-icu \ -p 9200:9200 \ -p 9600:9600 \ -e "discovery.type=single-node" \ -e "OPENSEARCH_JAVA_OPTS=-Xms2g -Xmx2g" \ -e "cluster.name=multilingual-search" \ opensearchproject/opensearch:latest
如需自定义OpenSearch配置(如自定义分词器),可通过挂载配置文件实现:
./config/opensearch.yml):yamlcluster.name: multilingual-search node.name: opensearch-icu-node-1 discovery.type: single-node plugins: analysis: icu: enabled: true # 确保插件启用(默认已启用)
bashdocker run -d \ --name opensearch-icu \ -p 9200:9200 \ -p 9600:9600 \ -v $(pwd)/config/opensearch.yml:/usr/share/opensearch/config/opensearch.yml \ opensearchproject/opensearch:latest
yamlversion: '3.8' services: opensearch-icu: image: opensearchproject/opensearch:latest container_name: opensearch-icu environment: - discovery.type=single-node - OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g - cluster.name=multilingual-cluster ports: - "9200:9200" # REST API端口 - "9600:9600" # 性能分析端口 volumes: - opensearch-data:/usr/share/opensearch/data # 数据持久化 networks: - opensearch-net volumes: opensearch-data: networks: opensearch-net:
通过OpenSearch API创建使用analysis-icu插件的自定义索引:
bashcurl -X PUT "http://localhost:9200/multilingual-index" -H "Content-Type: application/json" -d ' { "settings": { "analysis": { "analyzer": { "icu_custom_analyzer": { "type": "custom", "tokenizer": "icu_tokenizer", # 使用ICU分词器 "filter": ["icu_folding", "lowercase"] # 使用ICU折叠过滤器和小写过滤器 } } } }, "mappings": { "properties": { "content": { "type": "text", "analyzer": "icu_custom_analyzer" # 字段使用自定义分析器 } } } }'
OPENSEARCH_SECURITY_ENABLED=true开启OPENSEARCH_JAVA_OPTS),建议最小2GBopensearch-data)以防止数据丢失2.11.0、latest等)注:具体版本信息可通过镜像标签指定,如
opensearchproject/opensearch:2.11.0表示基于OpenSearch 2.11.0构建的镜像
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务