当前位置: 首页 > article >正文

828华为云征文 | 构建高效搜索解决方案,Elasticsearch Kibana的完美结合

前言

构建高效搜索解决方案,FlexusX服务器Elasticsearch & Kibana的完美结合,为企业带来云端搜索新体验。FlexusX实例以其卓越性能与灵活扩展性,确保高并发搜索的流畅运行。部署Elasticsearch,享受分布式搜索的精准与快速;结合Kibana,实现数据可视化,决策更直观。在828华为云企业上云节不仅**降低成本,更提升效率。云端部署,资源按需分配,灵活应对业务增长。**立即体验,开启高效搜索新篇章,让数据驱动您的企业未来!

链接直达华为云Flexus云服务器X实例

在这里插入图片描述

Elasticsearch介绍

Elasticsearch是一个基于Lucene构建的开源、分布式搜索和分析引擎,它通过提供强大的全文搜索、实时分析能力和RESTful API,支持PB级数据的快速处理和复杂查询,特别适用于日志分析、网站搜索、实时监控和业务分析等多种场景,以其分布式架构、高可用性和可扩展性成为处理大数据的优选工具。

官方网站:https://www.elastic.co/cn/elasticsearch

官方文档:https://www.elastic.co/docs

在这里插入图片描述

kibana介绍

Kibana是一个开源的数据可视化与分析平台,专为Elasticsearch设计。它提供了一个直观且强大的界面,让用户能够轻松地探索、可视化、分析和共享存储在Elasticsearch索引中的数据。通过Kibana,用户可以创建自定义仪表板,以图形化方式展示关键指标、监控实时数据变化,并进行深入的数据分析。这一平台不仅简化了复杂数据的理解过程,还增强了数据驱动的决策能力,是Elasticsearch生态系统中不可或缺的组成部分,广泛应用于日志分析、性能监控、安全审计等多个领域。

官方网站:https://www.elastic.co/cn/downloads/kibana

官方文档:https://www.elastic.co/docs

在这里插入图片描述

环境规划

操作系统ElasticSearchkibanadockerdocker-compose连接方式
Huawei Cloud EulerOS 2.07.17.187.17.2027.1.12.29.1本地shell

部署流程

前期准备

创建网络

[root@flexusx-251f ~]# docker network create es-kb-net
a16e637d327b955c2b138c3d615d6ecce1ee6f760b919d5e974e50748c7cbc3f

拉取镜像

[root@flexusx-251f ~]# docker pull elasticsearch:7.17.20
7.17.20: Pulling from library/elasticsearch
d4c3c94e5e10: Already exists
e2d4b0a1128f: Pull complete
86cab1abf274: Pull complete
4f4fb700ef54: Pull complete
091252f7c9c3: Pull complete
ba22547cb7b5: Pull complete
6eb5ac7a61d1: Pull complete
78ac87136b0f: Pull complete
03977b84fc22: Pull complete
cb9719a7448f: Pull complete
Digest: sha256:ed3a3bdb961d0c488c74aaf1e44f48809e54981c1bb39a53b6047d71f191f69b
Status: Downloaded newer image for elasticsearch:7.17.20
docker.io/library/elasticsearch:7.17.20

[root@flexusx-251f ~]# docker pull kibana:7.17.18
7.17.20: Pulling from library/kibana
d4c3c94e5e10: Already exists
0fe144c362b1: Pull complete
0eeac22a56d8: Pull complete
fd30f5974e3c: Pull complete
0a37326c1989: Pull complete
4f4fb700ef54: Pull complete
9bc0aee2b8f5: Pull complete
c858d553a1d7: Pull complete
da67f383fa3e: Pull complete
7c9f20cf430f: Pull complete
9e0d12605b54: Pull complete
294777053dd6: Pull complete
df1e636ab8a5: Pull complete
2ab537178792: Pull complete
Digest: sha256:cc537607c5a7ac4c7bf8f5e2a2028200460a35a3593de22196ffcc24009347bc
Status: Downloaded newer image for kibana:7.17.20
docker.io/library/kibana:7.17.20

部署elasticsearch

创建 elasticsearch容器

[root@flexusx-251f ~]# docker run -itd \
  --name es \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v es-data:/usr/local/elasticsearch7.17.20/data \
    -v es-plugins:/usr/local/elasticsearch7.17.20/plugins \
    -v es-logs:/usr/local/elasticsearch7.17.20/logs \
    --privileged \
    --network es-kb-net \
    -p 9200:9200 \
    -p 9300:9300 \
elasticsearch:7.17.18

配置安全组,放行端口 9200

在这里插入图片描述

在浏览器地址栏输入:http://主机IP:9200

输出以下内容,证明ElasticSearch服务启动成功

在这里插入图片描述

部署Kibana

Kibana 使操作ES数据的可视化界面,使用Kibana 操作ES非常方便。

  • -e ELASTICSEARCH_HOSTS=http://es:9200设置elasticsearch的地址
  • 因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
[root@flexusx-251f ~]# docker run -itd --name kibana -e ELASTICSEARCH_HOSTS=http://es:9200 --network=es-kb-net -p 5601:5601 kibana:7.17.20

查看日志,看服务是否启动

[root@flexusx-251f ~]# docker logs -f kibana

在这里插入图片描述

配置安全组,放行端口 5601

在这里插入图片描述

在浏览器地址栏输入:http://主机IP:5601

在这里插入图片描述

点击左上角按钮,点击 Dev Tools 即可进入如下所示的开发操作界面

在这里插入图片描述

在左边的控制台输入框中输入如下命令,然后点击右上角的三角形按钮执行请求即可在右边的界面看到查询结果。

在这里插入图片描述

安装IK分词器

ik分词器介绍

IK分词器是一款基于Java开发的中文分词工具,它提供了细粒度与智能分词两种模式,能够高效地对中文文本进行分词处理。IK分词器通过内置的词典以及算法优化,能够识别并分割出中文文本中的词汇,同时支持自定义词典的加载,以满足特定领域的分词需求。在搜索引擎、文本挖掘、自然语言处理等应用中,IK分词器因其准确性和灵活性而得到广泛应用。

注意事项

下载版本需要与 elasticsearch一致

项目地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

IK提供了两个分词算法: ik_smartik_max_word ,其中ik_smart最少切分, ik_max_word最细粒度划分

安装流程

进入elasticsearch容器内部

[root@flexusx-251f ~]# docker exec -it es bash
root@6b1996760d59:/usr/share/elasticsearch# cd /usr/share/elasticsearch/bin

在线下载安装

root@8c5ea6776581:/usr/share/elasticsearch/bin# ./elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.18/elasticsearch-analysis-ik-7.17.18.zip
-> Installing https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.18/elasticsearch-analysis-ik-7.17.18.zip
-> Downloading https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.18/elasticsearch-analysis-ik-7.17.18.zip
[=================================================] 100%??
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.net.SocketPermission * connect,resolve
See https://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y   # 输入y
-> Installed analysis-ik
-> Please restart Elasticsearch to activate any plugins installed
root@8c5ea6776581:/usr/share/elasticsearch/bin# exit
exit

安装完成,重启容器

[root@flexusx-251f ~]# docker restart es
es

在左边的控制台输入框中输入如下中文分词请求:

GET _analyze
{
  "analyzer": "ik_smart",
  "text": "你好,欢迎来到华为云Flexus X实例的世界"
}

然后点击右边的执行请求按钮,可以看到右边的结果窗口返回如下结果

#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html to enable security.
{
  "tokens" : [
    {
      "token" : "你好",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "欢迎",
      "start_offset" : 3,
      "end_offset" : 5,
      "type" : "CN_WORD",
      "position" : 1
    },
    {
      "token" : "来到",
      "start_offset" : 5,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 2
    },
    {
      "token" : "华为",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "CN_WORD",
      "position" : 3
    },
    {
      "token" : "云",
      "start_offset" : 9,
      "end_offset" : 10,
      "type" : "CN_CHAR",
      "position" : 4
    },
    {
      "token" : "flexus",
      "start_offset" : 10,
      "end_offset" : 16,
      "type" : "ENGLISH",
      "position" : 5
    },
    {
      "token" : "x",
      "start_offset" : 17,
      "end_offset" : 18,
      "type" : "ENGLISH",
      "position" : 6
    },
    {
      "token" : "实例",
      "start_offset" : 18,
      "end_offset" : 20,
      "type" : "CN_WORD",
      "position" : 7
    },
    {
      "token" : "的",
      "start_offset" : 20,
      "end_offset" : 21,
      "type" : "CN_CHAR",
      "position" : 8
    },
    {
      "token" : "世界",
      "start_offset" : 21,
      "end_offset" : 23,
      "type" : "CN_WORD",
      "position" : 9
    }
  ]
}

在这里插入图片描述

体验和感受

在数据驱动的时代,高效搜索解决方案成为企业提升竞争力的关键。华为云FlexusX服务器,以其卓越的性能、灵活的扩展性和稳定可靠的服务,为构建高效搜索环境提供了坚实的基础。而今,结合Elasticsearch的分布式搜索能力与Kibana的强大数据可视化功能,可以为企业打造了一个云端搜索解决方案的新标杆。

该服务器不仅拥有强大的计算能力,更支持资源的按需扩展,确保在高并发搜索场景下依然能够保持流畅运行。Elasticsearch,作为业界领先的搜索引擎,以其分布式架构、可扩展性和丰富的API接口,为企业提供了快速、准确、灵活的搜索体验。而Kibana,则以其直观易用的界面和强大的数据可视化能力,让搜索结果一目了然,助力企业做出更加精准的决策。

828华为云企业上云节期间,立即行动,点击下方链接,享受上云节专属优惠,让您的企业在数据海洋中畅游无阻,为企业带来前所未有的搜索效率和价值。

产品链接华为云Flexus云服务器X实例_直播_建站服务器-华为云

在这里插入图片描述


http://www.kler.cn/news/316559.html

相关文章:

  • 计算结构力学,平行桁架杆件轴力计算源程序
  • Spring IoC 注解 总结
  • vue是如何优化
  • 【C++算法】分治——快排
  • 力扣(leetcode)每日一题 2374 边积分最高的节点
  • 神经生物学精解【2】
  • LeetCode[中等]
  • 迷雾大陆免费辅助:强流派推荐攻略!VMOS云手机自动辅助挂机教程!
  • [JavaEE] TCP协议
  • hql杂谈一
  • 黑马智数Day3
  • C#设计模式之备忘录模式
  • CMake 构建Qt程序弹出黑色控制台
  • vue3+ant design vue 中弹窗自定义按钮设置及以冒号为基准布局
  • IM项目-----语音识别子服务
  • Java笔试面试题AI答之设计模式(4)
  • 进击J7:对于ResNeXt-50算法的思考
  • [深度学习]Pytorch框架
  • 猿大师办公助手在线编辑Office为什么要在客户端电脑安装插件微软Office或金山WPS?
  • 政务安全体系构建中的挑战
  • 使用思科搭建企业网规划训练,让网络全部互通,使用规则提高工作效率。
  • 深入解析数据库DQL语言:查询的艺术
  • 如何在SpringCloud中使用Consul进行服务发现与配置管理
  • Redis的主从模式、哨兵模式、集群模式
  • 电子电气架构 --- 基于ISO 26262的车载电子软件开发流程
  • 基于GIKT深度知识追踪模型的习题推荐系统源代码+数据库+使用说明,后端采用flask,前端采用vue
  • 快速下载Imagenet数据集
  • Python模块和包:标准库模块(os, sys, datetime, math等)②
  • CVE-2024-2389 未经身份验证的命令注入
  • LeetCode --- 139双周赛