前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云 Elasticsearch 实战篇(十八) 快速构建搜索服务

腾讯云 Elasticsearch 实战篇(十八) 快速构建搜索服务

原创
作者头像
南非骆驼说大数据
发布2020-02-25 12:16:13
1.5K0
发布2020-02-25 12:16:13
举报

前言|

上一章节,我们从0开始搭建了一个基于腾讯云ES集群的日志分析系统,并通过Kibana图形化工具进行了可视化展示。我们模拟了Logstash收集业务系统的日志并将数据同步到了腾讯ES集群。同时我们也知道Elasticsearch 的几个应用场景。那么今天我就带大家来实现它的第二个常用场景 搜索服务。我们用的框架是:腾讯云 ES+SCF 快速构建搜索服务

一、腾讯云 ES+SCF 快速构建搜索服务

1, 名词解释:SCF是什么?

英文名:Serverless Cloud Function,SCF。顾名思义:就是没有物理服务器的云函数。就是云产品的一种。我们通过购买这个产品就能在没有底层服务器的情况下去上传、开发、维护自己的代码。因此,我们不需要了解底层构架就能很好的用到我们的函数进而开发我们的产品的服务,称之为SCF,中文名叫云函数。它是函数即服务 (Function as a Service,FaaS)产品。提供无服务器(Serverless) 和 FaaS 的计算平台。运行方式依赖事件触发。因此在和触发事件源结合时,云函数就可以被触发源所产生的事件触发运行。

2,搜索服务

Elasticsearch 是一个广泛应用于全文搜索领域的开源搜索引擎,它可以快速地索引、搜索和分析海量的文本数据。腾讯云 ES 是基于 Elasticsearch 构建的高可用、可伸缩的云端托管 Elasticsearch 服务,对结构化和非结构化的数据都有良好的支持,同时还提供了简单易用的 RESTful API 和各种语言的客户端,方便快速搭建稳定的搜索服务。本文将针对搜索场景,使用腾讯云官方文档作为语料,介绍如何使用腾讯云 ES+SCF 快速搭建搜索服务。

3,构建搜索服务

1,资源准备

需要一个 ES 集群,没有集群就需要去腾讯云官网去购买ES集群,节点选型可以参考官方文档: https://cloud.tencent.com/document/product/845/19551

2,部署搜索服务

使用腾讯云免费的 SCF 工具部署搜索服务的前端界面和后台服务。步骤如下:

(1) 在云控制台【云函数】>【函数服务】界面左上角首先选择您购买 ES 集群的地域。

SCF控制台
SCF控制台

(2) 新建一个函数服务,记住您设置的函数名称,然后选择【下一步】>【完成】。设置参数如下图

新建函数
新建函数

(3)运行角色提交方法等参数如下图所示

(4)附件设置参数如下图 上传官方包(点击下载下面的myserver.zip文件上传到云服务器):

参数设置
参数设置

(5)SCF函数完整界面,如下图,点开“函数代码

SCF界面图
SCF界面图
函数代码设置
函数代码设置

函数代码页修改代码。需要修改的文件有index.py和index.html:

  • index.py文件中需要修改为您的 ES 集群的内网地址,填写格式如:http://10.0.0.1:9200
  • index.py修改为白金版 ES 密码,如果不是白金版则不修改。
  • index.html文件需要修改您创建的 SCF 函数的函数名称,myserver如下图
修改index.html文件
修改index.html文件

(4)添加函数的触发条件,点击“触发方式”--“新建触发方式

新建触发方式
新建触发方式

(5)添加触发方式:类型、API等参数。在触发方式页单击【添加触发方式】,按下图添加 API 网关触发器,并启用集成响应,然后单击【保存】

添加触发方式
添加触发方式

触发方式页单击【添加触发方式】,按下图添加 API 网关触发器,并启用集成响应,然后单击【保存】

添加触发方式
添加触发方式

(6)可在触发方式中看到函数的“访问路径”,单击此路径即可访问页面。

API网关触发器完整界面图
API网关触发器完整界面图

(7)浏览器访问上面链接,是否能正常访问。如下图显示,访问成功

访问搜索网页
访问搜索网页

(8)上传腾讯云官方文档数据,单击搜索框上方的文字,自动导入数据。

上传数据
上传数据

(9)搜索数据,基于腾讯云 ES 的问答搜索服务后台已部署完成。

内容搜索
内容搜索

二、总结

搜索服务广泛的存在于我们身边,例如我们生活中用的百度、工作中用的 wiki 搜索、淘宝时用的商品搜索等。这些场景的数据具有数据量大、结构化、读多写少等特点,而传统的数据库的事务特性在搜索场景并没有很好的使用空间,并且在全文检索方面速度慢(如 like 语句)。因此,Elasticsearch 应运而生。

本节基于腾讯云ES、SCF快速构建了一个基于搜索的服务,对于想快速了解此场景的爱好者来说,可以自己动手实践一下。操作很简单。只需要一个ES集群就可以轻松完成。当然。SCF这个产品也是非常强大,功能特别多。大家可以多操作实践。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言|
  • 一、腾讯云 ES+SCF 快速构建搜索服务
    • 1, 名词解释:SCF是什么?
      • 2,搜索服务
        • 3,构建搜索服务
          • 1,资源准备
          • 2,部署搜索服务
      • 二、总结
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档