专栏首页零基础自学Java【微服务】157:全文检索技术Elasticsearch

【微服务】157:全文检索技术Elasticsearch

全文检索技术Elasticsearch的学习,牵扯到的知识点太多太多了:

  • 首先要创建一个虚拟机,
  • 然后要在该虚拟机上装Linux系统。
  • 再然后使用Xshell连接到该虚拟机。
  • 再然后安装elasticsearch的Linux版并配置和运行elasticsearch。
  • 最后Kibana的安装和使用,还有ik分词器。

一、Elasticsearch是什么?

我们可以查看下其官网。

官方语言就是:Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎。

简而言之就是能解决搜索相关的问题。

要知道商城项目中有一个非常核心的业务就是搜索,毕竟商品数量是非常多的。

并且为了用户体验,还要提高搜索的效率,如果是像以前一样使用模糊查询显然是不行了,效率太低了,用户搜一个商品还要半天。

所以要使用Elasticsearch解决这些问题。

二、关于安装

太复杂了我就不详细讲述了,我大致说下我使用到了哪些工具:

1虚拟机和Linux系统

我这里用的vmware,因为以前在大学玩游戏的时候,研究过沙盒和虚拟机,所以这块知识点还好,使用起来也很顺手。

第一个虚拟机是我自己装的一个win7系统,以前通过它玩游戏时可以实现双开,甚至还可以三开四开五开。

后面两个虚拟机是我跟着教程依样画葫芦装的Linux系统。

其实虚拟机真心都好说,比较繁琐的是这个Linux系统,并且对于程序员而言这个Linux还非常非常的重要,不学好还不行。

2Xshell的使用

本机和虚拟机的ip是不一样的,如果一会儿要在虚拟机中操作,另一会儿又要在本机中操作,会比较麻烦。

所以在本机中安装Xshell,通过它连接虚拟机对应的ip,这样就能实现对虚拟机的操作了。

当然其主要是可以实现远程连接,比如说在阿里云上面租了一个服务器,我不可能说还跑到杭州去操作它,通过Xshell就可以实现远程连接。

上述就可以通过Xshell连接安装好的虚拟机,在Linux系统下安装Elasticsearch。

Elasticsearch也是绿色版免安装软件,所以一样也是在bin文件夹下找到对应文件运行。

区别在于Windows系统下可以直接点,而Linux系统下需要靠输入命令。

Elasticsearch主要是各种配置比较复杂,因为步骤实在是太多了。

我只能说我将其弄出来了,但是要我截个十几甚至几十张图片去做个教程,目前没这个时间和精力做,以后也许会做。

PS:关于虚拟机、Linux和Xshell这些知识点,尤其是Linux非常重要。

目前就不专门去讲解这些了,毕竟要花大量的时间,现在以项目为主。

如果那一天我项目更新完,不知道更新啥了,就会更新Linux相关的知识点。

三、kibana的安装和使用

如果没有kibana,每次发送请求都要在浏览器中输入请求是很繁琐。

1kibana安装与配置

下载kibana之后直接解压即可以使用了。

在config文件夹下有一个kibana.yml文件,用来配置kibana。

将elasticsearch的url改成我们自己的。

注意:每个人的ip不一样,填写自己安装elasticsearch的虚拟机ip即可。

2.kibana的运行

在bin文件夹下面有一个kabana.bat文件,点击即可运行。

在运行结果中我们可以发现:kibana的监听端口是5601。

也就是说我们在浏览器上访问本地ip+5601会进入到kibana界面,也就是上述图中的url。

注意:像这种免安装绿色版的软件,自己解压就可以使用,关于其目录结构:

  • bin文件夹会有脚本文件用来启动程序。
  • config文件夹就是用来放配置文件的。

3kibana的使用

浏览器输入上述url即可进入如下页面:

①选择Dev Tools进入控制台使用kibana

②编写Restful请求

Console即控制台,左边来编写Restful请求,点击那个播放小按钮就是在提交请求。

③响应结果

有请求自然也会有响应,控制台右边也就是Elasticsearch响应的结果。

当然关于请求里代码的具体如何编写?这些我们后续再详解。

本文分享自微信公众号 - 刘小爱(liuxiaoai946),作者:刘小爱

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【微服务】133:什么是微服务?

    当然系统架构肯定不是说我一篇文章就能学好的,只能说我作为一名初学者,是如何去理解这些概念的。

    刘小爱
  • 【Java】基础02:字节,位元,比特

    昨天详细了解了二进制,通过学习我们知道:在计算机中,都用二进制中的0和1来表示数据 。

    刘小爱
  • 【框架】120:spring框架初体验

    倒不是说SSH完全被淘汰了,但除了传统行业,基本很少用了,我们只学SSM,不学SSH。

    刘小爱
  • 管理员需知:五大开源云工具

    提供灵活性和最小的锁定风险,开源云工具正在企业市场中逐步取得进展。下面就来看看云部署和管理的五大开源产品。 开源技术对云计算世界产生了重大影响,其中有两个主要的...

    静一
  • Linux 操作系统!开篇!!!

    此篇文章主要会带你介绍 Linux 操作系统,包括 Linux 本身、Linux 如何使用、以及系统调用和 Linux 是如何工作的。

    不会飞的小鸟
  • Java虚拟机知识点快速复习手册(上)

    Csdn全复习手册文章导航:https://blog.csdn.net/qqxx6661/article/details/86775594

    后端技术漫谈
  • 希望涨工资?看看能为运维人带来更高收入的十大技术!

    Linux 基金会和在线求职招聘网站 Dice 发布了一份关于开源招聘的调查结。结果显示,相对于其他类型的 IT 工作者,67% 的管理人员更希望雇佣在开源技术...

    民工哥
  • 关于SpringBoot bean无法注入的问题

    itliusir
  • 时间字符串和long类型之间的转换

    在进行时间存储时,经常会对时间字符串进行转型存储,一般都是存储为long类型,下面我先来说一下如何将时间字符串转换为long类型:

    无邪Z
  • 浅谈乱码原因及解决方案

    其实作为程序猿来讲,中国的程序猿遇到的问题可能会比国外的程序猿遇到的问题多很多。 一个原因是因为各种标准的制定、各种IDE的编写,都是由老外来完成的,制定出...

    roobtyan

扫码关注云+社区

领取腾讯云代金券