更新时间:2023-07-14 GMT+08:00

入门实践

云搜索服务为您提供各种业务场景、方案架构的最佳实践,方便您根据自身的业务场景选择合适的实践方案。

表1 常用最佳实践

实践场景

描述

数据迁移

源端为Elasticsearch的数据迁移

使用CDM迁移数据

华为云服务提供的CDM云迁移工具,可以实现不同云服务间的集群迁移能力,本实践介绍如何通过CDM将本地Elasticsearch整库迁移到云搜索服务中。

使用Logstash迁移集群数据

Logstash是Elasticsearch官方提供的数据清洗工具,ELK生态中的一部分,功能强大,通过此实践可以完成不同数据源和Elasticsearch数据的迁移,还可以进行数据的清洗和加工。

源端为Kafka/MQ的数据迁移

在泛IOT、新闻、舆情、社交等数据量较大的行业,通常会引入消息中间件(kafka、MQ等)对流量进行削峰填谷,然后借助Flink/Logstash等工具消费数据并进行数据预处理,最终将数据导入到搜索引擎。本实践为您详细介绍源端为Kafka/MQ的集群迁移流程和操作流程。

源端为数据库的数据迁移

Elasticsearch支持全文检索和Ad Hoc查询,所以经常作为关系型数据库(例如MySQL、GaussDB for MySQL等)的补充,以此提升数据库的全文检索能力和高并发的Ad Hoc查询能力。

接入集群

使用Kibana和Cerebro组件快速访问集群

云搜索服务创建的集群自带Kibana和Cerebro组件,支持一键打开Kibana和Cerebro,快速访问集群。

通过Curl命令行接入集群

当云搜搜服务和弹性云服务器ECS在同一VPC内时,在此ECS中可以通过Curl命令直接访问Elasticsearch 集群,此方法多用于前期调试Elasticsearch的连接性,排查访问集群的客户端是否和Elasticserach节点的网络连通。

通过Java接入集群

通过Rest High Level Client接入集群

Elasticsearch官方提供了SDK(Rest High level Client)方式连接集群,Rest Client客户端对Elasticsearch的API进行了封装,您只需要构造对应的结构即可对集群进行访问。

通过Rest Low Level Client接入集群

High Level Client是在Low Level Client基础上进行封装的,如果在High Level Client中的方法调用(例如.search,.bulk)不能满足使用需求,或存在兼容性问题,可以选择使用Low Level Client方式,甚至可以使用“HighLevelClient.getLowLevelClient()”方式直接获取Low Level Client。

通过Transport Client接入集群

本实践为您介绍如何使用Elasticsearch原生的Transport Client客户端连接非安全模式的集群集群。

使用Spring Boot接入集群

本实践为您介绍使用Spring Boot工具接入集群的详细流程。

通过Python接入集群

本实践为您介绍通过Python语言访问CSS集群。

通过ES-Hadoop实现Hive读写Elasticsearch数据

本实践通过MRS的ES-Hadoop与CSS集群连接作为示例,你可以配置其他任何需要使用ES集群的应用。如有需要,也可以参考本文在其他服务中使用Elasticsearch,前提是要保证客户端与Elasticsearch集群网络连通。

优化集群性能

写入性能优化

集群在使用前,建议参考本实践进行集群的写入性能优化,便于提高集群的写入性能,提升使用效率。

查询性能优化

集群在使用前,建议参考本实践进行集群的查询性能优化,便于提高集群的查询性能,提升使用效率。

管理索引生命周期

使用生命周期实现自动滚动索引

对于时间序列数据,随着时间推移数据持续写入,索引会越来越大,通过生命周期管理来定期将数据滚动到新索引,并将历史老索引删除,实现自动滚动索引。

使用生命周期实现自动存算分离

CSS支持存算分离,即将索引冻结到OBS来降低冷数据的存储成本。本文介绍如何使用索引生命周期管理,在特定的时间自动冻结索引,实现存算分离。

加速数据查询分析

使用CSS加速数据库的查询分析

关系型数据库(例如MySQL、GaussDB for MySQL等)受限于全文检索和Ad Hoc查询能力,因此会将Elasticsearch作为关系型数据库的补充,以此提升数据库的全文检索能力和高并发的Ad Hoc查询能力。

建统一日志管理平台

使用CSS搭建统一日志管理平台

使用云搜素服务搭建的统一日志管理平台可以实时地、统一地、方便地管理日志,让日志驱动运维、运营等,提升服务管理效率。

自定义评分查询

使用Elasticsearch集群自定义评分查询

本实践为您介绍如何对搜索匹配的文档进行自定义评分。