非常厉害的全文检索技术Elasticsearch

2023-11-19

今天是刘小爱自学Java的第157天。

感谢你的观看,谢谢你。

全文检索技术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响应的结果。

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

最后

行有不得反求诸己,我是@刘小爱

一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非常厉害的全文检索技术Elasticsearch 的相关文章

  • JSON - 使用Gson反序列化动态对象

    假设我有一个以下类型的 Java 类 public class MyClass public String par1 public Object par2 然后我有这个 String json par1 val1 par2 subpar1
  • 如何从 AccountManager.getAccounts() 获取与特定帐户关联的图标

    每个帐户的帐户设置中都会显示一个图标 对于 Google 帐户有一个图标 对于 Facebook 帐户有另一个图标 有没有办法从应用程序的代码中获取该图标 最后我解决了 private Drawable getIconForAccount
  • 在 Java 中将系统属性设置为 Null

    在我的单元测试中 我需要将 workingDir 系统属性设置为 Null 但我不能这样做 因为它给了我 NullPointerException System setProperty workingDir null 我该怎么做 您不能将属
  • 将json URL导入到java并使用jackson库解析它

    我正在尝试读取 java 中的 json 链接并解析它 以便我可以将它用于其他事务 但问题是我收到错误 我真的不知道该如何处理它们 这是代码 package weather data import weather data import c
  • 使 TreeMap 比较器容忍 null

    这个定制的 Valuecomarator 按其值对 TreeMap 进行排序 但在搜索 TreeMap 是否具有某个键时 它不能容忍 nullpointException 如何修改比较器来处理零点 import java io IOExce
  • Spring Batch 多线程

    我正在编写一个 Spring Batch 并希望在需要时对其进行扩展 我的 ApplicationContext 看起来像这样 Configuration EnableBatchProcessing EnableTransactionMan
  • 在 Java 和 C 中在运行时调用名为“string”的方法

    我们如何调用名称为的方法string在运行时 谁能告诉我如何在 Java 和 C 中做到这一点 在java中可以通过反射api来完成 看一下Class getMethod String methodName Class parameterT
  • 全屏独占模式下的 AWT 框架在窗口弹出对话框中最小化

    我正在开发一个在全屏独占模式下使用 awt 框架的应用程序 一切正常 直到弹出窗口可见 这会抢走焦点 我的应用程序将被最小化 这是我的框架的初始化代码 if ApplicationConfig getInstance useFullscre
  • 在 Eclipse 中导航 Java 调用堆栈

    在调试器中像GDB http sources redhat com gdb 当您在断点处停止时 您可以轻松地向上移动调用堆栈并检查相关的源和堆栈帧数据 在 Eclipse 中如何做到这一点 In the 调试视角 http www ibm
  • Maven:缺少工件 org.springframework:spring:jar:4.2.6

    我在 SpringToolSuite 中有一个动态 Web 项目 它被转换为 Maven 项目 我遇到问题 缺少工件 org springframework spring jar 4 2 6 我已经尝试清理 重建和运行该项目 它给 读取文件
  • Spring @Transactional 并发

    class MyService 公共无效a 同步 某个键 b Transactional 传播 传播 REQUIRES NEW 公共无效b 数据库工作吗 除非您使用代码编织 否则这是行不通的 Spring处理事务的默认方式是通过AOP代理
  • 为什么我无法解开根节点并反序列化对象数组?

    为什么我无法通过展开根节点来反序列化对象数组 import java io IOException import java util Arrays import java util List import org codehaus jack
  • 用dagger 2查看依赖注入

    我有一个自定义视图扩展TextView 我应该在哪里调用我的组件来注入视图 component inject customTextView 因此 我发现我需要在自定义视图的构造函数中添加注入 在所有视图中 或者使一个调用另一个 Exampl
  • 在 jFrame 中启用右键单击

    嘿 我正在寻找如何使用 NetBeans 在 jFrame 中启用 仅且仅 右键单击并显示弹出菜单 使用我的代码 private void formMouseClicked java awt event MouseEvent evt pop
  • Hibernate3:自引用对象

    需要一些帮助来了解如何执行此操作 我将在文件系统上运行递归 查找 并且希望将信息保留在单个数据库表中 具有自引用的层次结构 这是我想要填充的数据库表结构 目录对象表 id int NOT NULL name varchar 255 NOT
  • Spark toLocalIterator 和迭代器方法之间的区别

    在编写 Spark 程序时我遇到了这个toLocalIterator 方法 之前我只使用iterator method 如果有人曾经使用过这种方法 请点亮 我在使用时遇到foreach and foreachPartitionSpark程序
  • 使用JPanel绘制直线并获取点坐标

    我现在完全不知所措 我没有太多用 Java 构建 GUI 我一直在阅读有关 swing 和 JPanel 的所有内容 我认为我想做的事情是可能的 我只是还没有弄清楚how 我正在尝试构建一个 GUI 您可以在其中在某个绘图区域内绘制直线 我
  • Java可以进行进程监控吗?

    是否可以用Java编写一个在托盘中运行的应用程序 并且当启动某个应用程序时 它可以检测到它 我想对某些程序执行此操作 以了解我每周使用它们多长时间 我是 Java 新手 所以我不知道 Java 是否是最适合此操作的语言 或者它是否具有对操作
  • 如何避免连续“重置偏移量”和“寻找最新偏移量”?

    我正在尝试遵循本指南 https spark apache org docs latest structed streaming kafka integration html https spark apache org docs late
  • 警告:无法加载 sqljdbc_auth.dll 原因:java.library.path 中没有 sqljdbc_auth

    我正在使用 Ubuntu 12 05 并尝试连接到 Windows Server 2012 来获取数据库 我的数据库名称是 jobs 电脑的IP地址是192 160 1 33 托管在1433 但是当我尝试连接时出现以下错误 WARNING

随机推荐

  • [转] 解读IntelliJ IDEA的优缺点

    昨天去TW参加了pre class 就是类似于新员工入职前的培训 有很多很cool的东西 给我印象最深的就是IntelliJ IDEA了 coder么 刚才在网上搜了搜 发现很少有她的介绍资料 所以贴过来一个让大家看看 文章中有一句话值得大
  • ucGUI3.9版本快速移植构建

    ucGUI3 9版本快速移植构建 移植前提条件 涉及文件 移植过程 修改绘制驱动文件 修改配置文件 打包进工程 涉及的资源获取 在之前的博客中移植了STemwin5 32版本的 最近更换了 GD芯片所以STemwin没法用了 只有移植emw
  • LeetCode:三数之和&四数之和

    1 方法概述 1 前期处理 三数之和用三个指针 四数之和用四个指针 最开始都要进行从小到大的排序 2 粗处理 编写三数之和的时候第一个指针刚开始指向所给数组的第一个元素 第二个指针记为L指针 初始指向第一个指针所指元素的下一个元素 第三个指
  • 福兔迎春,春节快乐

  • ajax异步问题导致的刷新页面数据不更新

    ajax的async默认的设置值为true 这种情况为异步方式 就是说当ajax发送请求后 在等待server端返回的这个过程中 前台会继续 执行ajax块后面的脚本 直到server端返回正确的结果才会去执行success 也就是说这时候
  • Unity飞船摄像机360度环绕(逐步完善)

    极简版 目标飞船 public Transform target 摄像机距离 public float distance 100 void Update float mouseX Input GetAxis Mouse X float mo
  • Nginx知识总结

    1 简介 Nginx engine x 是一个高性能的HTTP和反向代理web服务器 同时也提供了 IMAP POP3 SMTP服务 Nginx是由伊戈尔 赛索耶夫为俄罗斯访问量第二的 Rambler ru站点开发的 第一个公开版本0 1
  • matlab制作旋转动态图,matlab 如何画动态图(绘图与旋转视图)

    效果图 在matlab中 作图是重要的一部分 那么对于三维的图像 如何将静态的改为动态的呢 首先 静态图的代码 t 0 0 1 20 i 1 200 这里只是画了一个点 而 绘图 效果图 在matlab中 作图是重要的一部分 那么对于三维的
  • docker compose 部署skywalking

    文章目录 前言 架构图 docker compose 脚本 整合springboot 前言 SkyWalking 是一个开源的 APM 系统 核心功能如下 服务 服务实例 端点指标分析 根本原因分析 服务拓扑图分析 服务 服务实例和端点依赖
  • 【SQL注入-12】http头部注入案例—基于Sqli-labs靶机(借助BurpSuite工具)

    目录 1 概述 1 1 User Agent概述 1 2 Referer 概述 2 实验平台及实验目标 2 1 实验平台 2 2 实验目标 3 User Agent注入案例 以sqli labs Less18为例 3 1 注入前准备 3 2
  • 【翻译】 DMA和get_user_pages()

    LWN net需要你 没有订阅者 LWN将根本不存在 请考虑注册订阅 帮助LWN继续出版 作者 Jake Edge 2018年12月12日 Linux管道工会议 在2018年Linux Plumbers大会 LPC 的RDMA微型会议上 J
  • 数据理解与数据准备

    1 数据类型 属性类型 属性的取值范围决定了属性的类型 定性数据 标称属性 多分类变量 二元属性 01变量 序数属性 有序分类变量 定量数据 区间标度属性 比率标度属性 区分这两种属性的原则是该属性是否有固定的零点 根据表现出来的数值特点
  • Spring关于数组、集合和Properties的注入

    在某个类中需要依赖其它类时 通常是new一个依赖类再调用类实例的方法 这种开发存在的问题是new的类实例不好统一管理 Spring提出了依赖注入的思想 即依赖类不由程序员实例化 而是通过Spring容器帮我们new指定实例并且将实例注入到需
  • prometheus实战指南

    一 prometheus概述 1 Prometheus简介 Prometheus是一套开源的系统监控报警框架 作为新一代的云原生监控系统 目前已经有上千个贡献者参与到Prometheus的研发工作上 并且超过120 项的第三方集成 Prom
  • 知识图谱快速入门

    图技术 利用neo4j networkx dgl python做图分析挖掘 1 最短路径算法dijkstra 2 基于networkx的隐性集团关系识别模型 3 基于Neo4j的担保社群型态分析挖掘 4 基于python求有向无环图中tar
  • Matrix 【POJ - 2155】【二维线段树+永久化标记】

    题目链接 挺好的一道题 一开始用lazy标记往下推 总是推不出样例的正解 然后就去看了相关博客 发现却确实如此 在这里是无法用lazy标记来层层推的 并且还会出现超内存的情况 所以 便改用了永久化标记来解这道题 还有一件是 关于discus
  • IMU姿态计算

    总述 IMU即惯性测量单元 主要用于对机体的加速度与角速度的测算 使用场景很多 例如 平衡车 惯性导航等等 姿态 姿态角 Euler angles 是用于描述物体在三维空间中的旋转姿态的一种表示方法 它由三个角度组成 通常表示物体绕三个轴
  • html3D创意相册附源码

    3D创意相册 效果图如下 文件目录 图片名称 jpg index html
  • VB+SQLite组合,真香!(一)

    微信公众号 网管小贾 个人博客 www sysadm cc 嗨 你好 我是网管小贾 当你看到这个标题时 是不是感觉很奇怪呢 老掉牙的VB和 玩具 数据库SQLite搞在一起是个什么玩意 待我慢慢道来哈 SQLite众所周知 是个文件数据库
  • 非常厉害的全文检索技术Elasticsearch

    目录 一 Elasticsearch是什么 二 关于安装 三 kibana的安装和使用 最后 今天是刘小爱自学Java的第157天 感谢你的观看 谢谢你 全文检索技术Elasticsearch的学习 牵扯到的知识点太多太多了 首先要创建一个