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

三步搭建自己的 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来模拟一个网站的前后台。结合用户输入和搜索范围选择,来显示相应的搜索结果。

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

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31556022/viewspace-2284280/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31556022/viewspace-2284280/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值