首页 > 其他分享 >Elasticsearch介绍及安装

Elasticsearch介绍及安装

时间:2023-06-02 15:45:47浏览次数:47  
标签:文档 词条 介绍 索引 elasticsearch kibana Elasticsearch 安装 es

elasticsearch的作用
elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容。

倒排索引
倒排索引的概念是基于MySQL这样的正向索引而言的。elasticsearch便是基于倒排索引实现快速查找的功能。
倒排索引中有两个非常重要的概念:

  • 文档(Document):用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商品信息
  • 词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的词语就是词条。例如:我是中国人,就可以分为:我、是、中国人、中国、国人这样的几个词条
    创建倒排索引是对正向索引的一种特殊处理,流程如下:
  • 将每一个文档的数据利用算法分词,得到一个个词条
  • 创建表,每行数据包括词条、词条所在文档id、位置等信息
  • 因为词条唯一性,可以给词条创建索引,例如hash表结构索引
    如图:

    倒排索引的搜索流程如下(以搜索"华为手机"为例):
    1)用户输入条件"华为手机"进行搜索。
    2)对用户输入内容分词,得到词条:华为、手机。
    3)拿着词条在倒排索引中查找,可以得到包含词条的文档id:1、2、3。
    4)拿着文档id到正向索引中查找具体文档。
    如图:

正向和倒排

  • 正向索引是最传统的,根据id索引的方式。但根据词条查询时,必须先逐条获取每个文档,然后判断文档中是否包含所需要的词条,是根据文档找词条的过程。
  • 而倒排索引则相反,是先找到用户要搜索的词条,根据词条得到保护词条的文档的id,然后根据id获取文档。是根据词条找文档的过程。
    正向索引:
  • 优点:
    • 可以给多个字段创建索引
    • 根据索引字段搜索、排序速度非常快
  • 缺点:
    • 根据非索引字段,或者索引字段中的部分词条查找时,只能全表扫描。
      倒排索引:
  • 优点:
    • 根据词条搜索、模糊搜索时,速度非常快
  • 缺点:
    • 只能给词条创建索引,而不是字段
    • 无法根据字段做排序

elasticsearch的一些概念
文档:elasticsearch是面向文档(Document)存储的,可以是数据库中的一条商品数据,一个订单信息。文档数据会被序列化为json格式后存储在elasticsearch中。

字段:Json文档中往往包含很多的字段(Field),类似于数据库中的列。
索引:就是相同类型的文档的集合。例如:所有用户文档,就可以组织在一起,称为用户的索引;所有商品的文档,可以组织在一起,称为商品的索引;因此,我们可以把索引当做是数据库中的表。

映射:数据库的表会有约束信息,用来定义表的结构、字段的名称、类型等信息。因此,索引库中就有映射(mapping),是索引中文档的字段约束信息,类似表的结构约束。

mysql与elasticsearch的对比

安装elasticsearch
安装elasticsearch时建议也安装kibana,这样可以更方便的编写es语句。

  1. 创建一个网络,让es和kibana容器互联。
    docker network create es-net
  2. 加载镜像,采用elasticsearch的7.12.1版本的镜像。上传到虚拟机中,然后运行命令加载。
    docker load -i es.tar
  3. 运行docker命令,部署单点es
    docker run -d \ --name es \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -v es-data:/usr/share/elasticsearch/data \ -v es-plugins:/usr/share/elasticsearch/plugins \ --privileged \ --network es-net \ -p 9200:9200 \ -p 9300:9300 \ elasticsearch:7.12.1
    命令解释:
点击查看代码
- -e "cluster.name=es-docker-cluster":设置集群名称
- -e "http.host=0.0.0.0":监听的地址,可以外网访问
- -e "ES_JAVA_OPTS=-Xms512m -Xmx512m":内存大小
- -e "discovery.type=single-node":非集群模式
- -v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录
- -v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录
- -v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录
- --privileged:授予逻辑卷访问权
- --network es-net :加入一个名为es-net的网络中
- -p 9200:9200:端口映射配置

4. 在浏览器中输入:http://192.168.139.128:9200 即可看到elasticsearch的响应结果:

部署kibana
kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习。

  1. 下载kibana的tar包,并加载。
    docker load -i kibana.tar
  2. 运行docker命令,部署kibana
    docker run -d \ --name kibana \ -e ELASTICSEARCH_HOSTS=http://es:9200 \ --network=es-net \ -p 5601:5601 \ kibana:7.12.1
点击查看代码
- --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
- -e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
- -p 5601:5601:端口映射配置

3. 访问http://192.168.139.128:5601,即可看到结果。启动kibana较慢,需要等待一下。

标签:文档,词条,介绍,索引,elasticsearch,kibana,Elasticsearch,安装,es
From: https://www.cnblogs.com/wzh-Official/p/17451966.html

相关文章

  • Java入门讲解之EditPlus的安装与配置
    正好在学习java,使用到EditPlus软件,跟大家分享一下editplus的安装与配置过程:也可以直接看视频安装,B站上动力节点老杜的Java17版入门教程,详细讲了关于Editplus的安装配置学习地址:https://www.bilibili.com/video/BV1ig4y1c7kPEditPlus的安装与配置为什么不建议初学者一开始就用......
  • Ubuntu系统-FFmpeg安装及环境配置
     镜像下载、域名解析、时间同步请点击 阿里云开源镜像站1简介FCN-4是一个应用于音频自动标注的全卷积神经网络。使用该网络完成音频标注任务时,首先需要使用python的音频处理工具包Librosa提取音频的时频特征,针对mp3格式的音频文件,Librosa读取音频文件的工作依赖音频处理......
  • Elasticsearch专题精讲—— REST APIs —— Document APIs —— GET API
     RESTAPIs——DocumentAPIs——GETAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/docs-get.html#docs-getRetrievesthespecifiedJSONdocumentfromanindex.从索引中检索指定的JSON文档。......
  • ​​拍照替换 IOS手机端安装使用教程​
    拍照替换IOS手机端安装使用教程拍照插件是一款自动替换拍照数据的插件,支持单张多张照片选择替换,作用于系统全局,所有调用拍照的APP均有效。功能使用简单,单张,多张图片选择,按音量键切换照片。一、适用机型及系统1、机型:除SE和XR之外单所有iphone机型,可越狱即可2、系统:支持12系统及以......
  • npm安装淘宝镜像cnpm报错:npm ERR! Windows_NT 10.0.19045
    1、报错信息如下:npmERR!Windows_NT10.0.19045...2、原因,环境没配好3、解决:配置环境变量系统变量:①新建-变量名:NODE_HOME;变量值:D:\node-v14.18\nodeInstall\node-v14.18.2-win-x64node根目录下,新建两个目录,分别命名为:”node_global”、”node_cache”②path......
  • RocketMQ启动和端口介绍【转】
    关闭namesrv和broker关闭namesrv服务#进入binshmqshutdownnamesrv   如图关闭broker服务shmqshutdownbroker   如图通过jps验证下 如图第五节:防火墙配置宿主机需要远程访问虚拟机的rocketmq服务和web服务,需要开放相关的端口号,简单粗暴的方式是直接......
  • 在linux上安装julia和Perple_X
    在linux上安装julia用julia可以在linux上自动安装并运行Perple_X软件,所以本文首先安装julia然后安装并使用Perple_X在ubuntu上安装julia如果使用apt-get安装的版本很低,无法更新。所以推荐从源码安装,首先下载1.8版本的源代码在/opt目录中:cd/optmkdirjuliacdjuliawgethtt......
  • Docker 安装nacos
    dockerrun-d--name=gch-aas-nacos\--envSPRING_DATASOURCE_PLATFORM=mysql\--envMYSQL_SERVICE_HOST=127.0.0.1\--envMYSQL_SERVICE_PORT=3306\--envMYSQL_SERVICE_DB_NAME=nacos\--envMYSQL_SERVICE_USER=root\--envMYSQL_SERVICE_PAS......
  • ubuntu16 python2 安装M2Crypto报错
    正文pip2installM2Crypto#报错:#unabletoexecute'swig':Nosuchfileordirectory#error:command'swig'failedwithexitstatus1#解决:sudoaptinstallswig#继续pip2installM2Crypto,又报错:#src/SWIG/_m2crypto_wrap.c:149:21:fat......
  • docker安装elasticsearch
    一、环境CentOSelasticsearch5.6.12二、安装1.镜像拉取dockerpullelasticsearch:5.6.122.启动镜像dockerrun--nameelasticsearch-d-eES_JAVA_OPTS="-Xms256m-Xmx256m"-e"discovery.type=single-node"-p9200:9200-p9300:9300elasticsearch:5.6.12注......