总体分为三个步骤:第一步准备环境,主要会用到云搜索服务、弹性云服务器和虚拟私有云。云搜索服务(Cloud Search Service)是一个基于Elasticsearch且完全托管的在线分布式搜索服务,为用户提供结构化、非结构化文本的多条件检索、统计、报表。完全兼容开源Elasticsearch软件原生接口。弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。虚拟私有云(Virtual Private Cloud)是用户在华为云上申请的隔离的、私密的虚拟网络环境。用户可配置VPC内的IP地址段、子网、安全组等子服务,可申请弹性带宽和弹性IP搭建业务系统。
第二步索引数据。索引数据是将数据源中的数据,在Elasticsearch集群中建立索引。通常会使用数据同步工具或者ETL工具,从MySQL拉取数据,写入Elasticsearch。在本次课程里,我们的数据源是磁盘上的很多JSON文件,因此,我们写了一个程序IndexingApp,从磁盘上读取文件内容后,调用Elasticsearch的写接口,将输入写入Elasticsearch集群。
第三步搜索请求。搜索请求是从搜索框中接收用户的输入,然后构造搜索查询语句,调用Elasticsearch的搜索接口下发检索数据请求到Elasticsearch。在本次课程里,我们试用SearchApp来模拟一个网站的前后台。结合用户输入和搜索范围选择,来显示相应的搜索结果。