三步搭建自己Google搜索引擎

网友投稿 679 2022-05-29

三步搭建自己的Google搜索引擎

搜索无处不在,尤其是在移动互联的今天。无论是社交,电商,还是视频等APP中,搜索都已经在其中扮演了重要的角色。作为信息的入口,搜索能帮用户从海量信息中找到想要的信息。在搜索框中快速依据关键字,找出对应内容,这是网站或APP不可或缺的一个功能。搜索性能、精准度,又是和最终用户使用体验息息相关的。云搜索服务正是在高性能、全文检索、自定义词库、多种类分词、模糊查询、自动纠错、同近义词匹配、简繁体匹配等方面,来满足用户对搜索的诉求。

Google搜索引擎大家都用过,Google的搜索内容,都是依靠爬虫从网络上爬取的网页数据。当用户在输入框中输入关键字,Google就会在后台进行内容相关性计算,然后以相关性从高到低返回结果。对于一个网站或者APP来说,我们也希望拥有类似于Google的搜索框。只不过搜索的内容,是网站自己提供的内容。

接下来,就以一个网站的搜索框作为举例,通过构建网站的搜索框,带您体验网站搜索场景中云搜索服务的应用。这个网站的内容包含注册用户,以及用户发的帖子。包括三个搜索场景:用户搜索,根据用户名称匹配度、是否VIP、最近登录时间、发帖数、粉丝数综合评分得出搜索结果;帖子搜索,根据帖子内容匹配度、发布时间、查看数、评论数、数综合评分得出搜索结果;同义词搜索,根据表达意思相同的词,得到相应的搜索结果。

总体分为三个步骤:第一步准备环境,主要会用到云搜索服务、弹性云服务器和虚拟私有云。云搜索服务(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来模拟一个网站的前后台。结合用户输入和搜索范围选择,来显示相应的搜索结果。

三步搭建自己的Google搜索引擎

进入华为云学院(https://edu.huaweicloud.com/),学习课程《21天晋级大数据实战营》,获取更多操作教程!

云搜索服务 CSS

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:华为云GaussDB(for Influx)揭密第六期——数据分级存储
下一篇:华为云常见术语简介
相关文章