小脑斧学Elasticsearch(1)

2024-01-04 15:18
文章标签 elasticsearch 小脑 斧学

本文主要是介绍小脑斧学Elasticsearch(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

初识Elasticsearch

从Elasticsearch官网的文档上可以了解到,Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎。它使您可以近乎实时地快速存储、搜索和分析大量数据。它通常用作支持具有复杂搜索功能和要求的应用程序的底层引擎/技术。以下是官网给出的英文描述:

Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you to store, search, and analyze big volumes of data quickly and in near real time. It is generally used as the underlying engine/technology that powers applications that have complex search features and requirements.

在其他技术文档上也有Elasticsearch的一些介绍,通常都会有以下几个关键字

  • 全文搜索引擎
  • 分布式
  • 高扩展(集群、高可用)
  • 近乎实时存储与检索(查询效率非常高)
  • 大数据(可以处理的数据量非常大)

说到Elasticsearch,可能都会听到其他的一些相关的技术,比如说Lucene和Solr。由于小脑斧只是初学Elasticsearch,Lucene和Solr并没有深入的去研究。就简单提一下。

Lucene:是一套信息检索的工具包,是jar包,不是一个搜索引擎。

Lucene和Elasticserach的关系:Elasticserach就是基于Lucene的工具包做了一些封装与增强,通过RESTFul API来简化Lucene的复杂操作。

Solr和Elasticsearch的一些总结(Solr并没有研究过,这里参考网上的一些总结,便于后期自己回顾总结与学习)

Elasticsearch和Solr的一些不同(后期学习到新的再补充)

  1. Elasticsearch安装简单,Solr安装相对复杂。
  2. 虽然都可以进行分布式,Elasticsearch自身带有分布式管理功能,Solr需要ZK来进行分布式管理。
  3. Elasticsearch支持且仅支持JSON的数据格式,Solr支持JSON、XML、CSV等数据格式。

Elasticsearch的安装

因为Elasticsearch是基于Java开发的,对Java的JDK版本有所要求。需要最低是JDK1.8的版本。

可以从官方下载地址根据你们目前的操作系统进行下载。小脑斧目前用的是Windows系统,就下了Windows的版本(7.14.0)(刚刚下载没两天已经又有7.14.1的新版本了,更新是真的快)。因为是用于自己研究学习,Windows版本也就可以了。如果是用于服务器的话,还是比较推荐Linux的版本。

压缩包下载下来后,安装还是很方便的,解压即用。不用配置任何环境变量!但是后期其他功能会涉及到前后端分离的项目应用。需要在机器上安装有nodejs的环境。如果还没有安装,教程在这里,小脑斧也是参照这个博客完成的安装。如果机器上已经安装了nodejs的环境,就跳过吧。

我们来看一下解压出来的一些文件目录

在这里插入图片描述
简单说一下这些目录里都是什么宝贝

  • bin 启动文件
  • config 配置文件
  • data 数据文件
  • lib 相关jar包,里面有Lucene的相关jar包,也再次证明了Elasticsearch是基于Lucene的封装
  • logs 日志
  • modules 功能模块
  • plugins 插件,马上要有的ik分词器就是一个插件

在来看一下config文件里的几个比较重要的配置文件

  1. elasticsearch.yml是elasticsearch的配置文件
    Elasticsearch默认9200端口,后期要解决跨域的问题,要在这里添加一些配置
  2. jvm.options是JVM的配置文件
  3. log4j2.properties是日志配置文件

启动Elasticsearch

在这里插入图片描述

直接打开bin目录,双击elasticsearch.bat文件进行启动。
在这里插入图片描述
访问127.0.0.1:9200,看到以下json
在这里插入图片描述

安装可视化界面 head插件

还是要先下载head插件,下载地址
没有安装nodejs环境的先安装环境先,上面有安装教程。

用npm安装项目的依赖包,安装完依赖包后,文件夹目录中有一个node_modules的文件夹,里面就是刚刚安装的依赖包。 命令:npm install
在这里插入图片描述

参照gitlab上的操作步骤
在这里插入图片描述

然后访问127.0.0.1:9100
在这里插入图片描述

看到这个界面,你就成功了一半了。为什么说只成功了一半呢?因为head插件端口是9100,Elasticsearch的端口是9200,存在跨越问题。那就解决跨域问题。先把Elasticsearch停了,去修改配置文件。

在Elasticsearch安装目录的config文件夹中,修改elasticsearch.yml配置文件。
在这里插入图片描述

将以下两个配置加到配置文件中后,重新启动Easticsearch

  • http.cors.enabled: true
  • http.cors.allow-origin: “*”

重新启动Elasticsearch,再次连接。
在这里插入图片描述

这里有一些小脑斧操作过的痕迹,新启动话,应该是空的数据。
当然head插件就当作数据的展示工具,后期json查询,用Kibana

Kibana

Kibana是针对Elasticsearch的开源分享及可视化平台,可以搜索、查看交换存储在Elasticsearch索引中的数据。使用Kbana,可以通过各种图表进行高级数据分析及展示(此介绍来源与网上)

下不说废话,先下载。下载地址。下载的版本要和先前下载的Elasticsearch版本一致。下载完后,解压(解压的时间略微有点长)。也是一个标准的前端工程。

解压后的目录
在这里插入图片描述

也是解压就可以启动 双击bin目录中kibana.bat
在这里插入图片描述

测试访问127.0.0.1:5601
在这里插入图片描述
在这里插入图片描述

后期可以在这个控制台进行数据操作。

不过大家一开始看到的应该是英文版的,像小脑斧一样英文水平一般的可以转汉化版。上面的截图已经是转了汉化了的。
找到kibana.yml这个配置文件
在这里插入图片描述
在这里插入图片描述

将下面这个配置追加到配置文件中,保存即可。

  • i18n.locale: “zh-CN”

重新启动kibana,应该就是中文版的了吧。

这些内容都是在B站看了狂神说java的Elasticsearch的教学视频,跟着一起学,记录的一些笔记。毕竟俗话说的好,好记性不如烂笔头,记录下来,也可以后期复习。发布出来,也可以给更多多人看到,希望对大家有用。

好了,这是小脑斧第一篇博文,写的不好的地方,也请看到的小伙伴们不要见怪,请大家多提意见。如果有写错的地方,那更要请大家指出了。瑞斯拜!!

这篇关于小脑斧学Elasticsearch(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/569743

相关文章

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

ElasticSearch的DSL查询⑤(ES数据聚合、DSL语法数据聚合、RestClient数据聚合)

目录 一、数据聚合 1.1 DSL实现聚合 1.1.1 Bucket聚合  1.1.2 带条件聚合 1.1.3 Metric聚合 1.1.4 总结 2.1 RestClient实现聚合 2.1.1 Bucket聚合 2.1.2 带条件聚合 2.2.3 Metric聚合 一、数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如:

【docker】基于docker-compose 安装elasticsearch + kibana + ik分词器(8.10.4版本)

记录下,使用 docker-compose 安装 Elasticsearch 和 Kibana,并配置 IK 分词器,你可以按照以下步骤进行。此过程适用于 Elasticsearch 和 Kibana 8.10.4 版本。 安装 首先,在你的工作目录下创建一个 docker-compose.yml 文件,用于配置 Elasticsearch 和 Kibana 的服务。 version:

ElasticSearch底层原理简析

1.ElasticSearch简述 ElastiaSearch(以下简称ES)是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,支持RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。ES设计用于云计算中,能够进行实时搜索,支持PB级搜索,具有稳定,可靠,快速,安装使用方便等

ElasticSearch 6.1.1 通过Head插件,新建索引,添加文档,及其查询数据

ElasticSearch 6.1.1 通过Head插件,新建索引,添加文档,及其查询; 一、首先启动相关服务: 二、新建一个film索引: 三、建立映射: 1、通过Head插件: POST http://192.168.1.111:9200/film/_mapping/dongzuo/ {"properties": {"title": {"type":

ElasticSearch 6.1.1运用代码添加索引及其添加,修改,删除文档

1、新建一个MAVEN项目:ElasticSearchTest 2、修改pom.xml文件内容: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or