3.2 KiB
3.2 KiB
OpenSearch
此服务用于部署 OpenSearch(Elasticsearch 分支)和 OpenSearch Dashboards(Kibana 分支)。
服务
opensearch: 用于搜索和分析的 OpenSearch 服务器。opensearch-dashboards: 用于可视化的 OpenSearch Dashboards。
环境变量
| 变量名 | 说明 | 默认值 |
|---|---|---|
| OPENSEARCH_VERSION | OpenSearch 镜像版本 | 2.19.0 |
| OPENSEARCH_DASHBOARDS_VERSION | OpenSearch Dashboards 版本 | 2.19.0 |
| CLUSTER_NAME | 集群名称 | opensearch-cluster |
| OPENSEARCH_HEAP_SIZE | JVM 堆大小 | 512m |
| OPENSEARCH_ADMIN_PASSWORD | 管理员密码 | Admin@123 |
| DISABLE_SECURITY_PLUGIN | 禁用安全插件 | false |
| OPENSEARCH_PORT_OVERRIDE | OpenSearch API 端口 | 9200 |
| OPENSEARCH_PERF_ANALYZER_PORT_OVERRIDE | 性能分析器端口 | 9600 |
| OPENSEARCH_DASHBOARDS_PORT_OVERRIDE | Dashboards UI 端口 | 5601 |
请根据实际需求修改 .env 文件。
卷
opensearch_data: OpenSearch 数据存储。
使用方法
启动服务
docker-compose up -d
访问 OpenSearch
OpenSearch API:
curl -XGET https://localhost:9200 -u 'admin:Admin@123' --insecure
访问 OpenSearch Dashboards
在浏览器中打开:
http://localhost:5601
使用用户名 admin 和 OPENSEARCH_ADMIN_PASSWORD 中设置的密码登录。
创建索引
curl -XPUT https://localhost:9200/my-index -u 'admin:Admin@123' --insecure
索引文档
curl -XPOST https://localhost:9200/my-index/_doc -u 'admin:Admin@123' --insecure \
-H 'Content-Type: application/json' \
-d '{"title": "Hello OpenSearch", "content": "This is a test document"}'
搜索文档
curl -XGET https://localhost:9200/my-index/_search -u 'admin:Admin@123' --insecure \
-H 'Content-Type: application/json' \
-d '{"query": {"match": {"title": "Hello"}}}'
功能
- 全文搜索: 具有相关性评分的高级搜索功能
- 分析: 实时数据分析和聚合
- 可视化: 使用 OpenSearch Dashboards 创建丰富的仪表板
- 安全性: 内置安全插件,具有身份验证和加密功能
- RESTful API: 易于与任何编程语言集成
- 可扩展: 开发环境使用单节点,生产环境使用集群模式
注意事项
- 默认管理员密码必须至少包含 8 个字符,包括大写字母、小写字母、数字和特殊字符
- 对于生产环境,请更改管理员密码并考虑使用外部证书
- JVM 堆大小应设置为可用内存的 50%(最大 31GB)
- 可以通过设置
DISABLE_SECURITY_PLUGIN=true禁用安全插件进行测试 - 对于集群模式,添加更多节点并配置
discovery.seed_hosts
许可证
OpenSearch 使用 Apache License 2.0 授权。