Elasticsearch(一) ES之简介、倒排索引介绍以及 elasticsearch、kibana安装
1,什么是Elasticsearch
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。
ES与数据库相关基本概念对比:
Elasticsearch |
mysql |
Indexs索引库 |
Db数据库 |
Type类型(es6开始一个索引只能有一个类型) |
Table表 |
Document文档 |
Row行记录 |
Filed字段 |
Columns列 |
Mapping映射配置 |
表结构 |
2,什么是倒排索引
在学习ES中我们知道,在新增文档(document)之前我们会进行创建mapping(类型结构)信息,在mapping信息中我们指定了类型中字段的各种属性,指定了怎样的分词方式(analyzer)、指定了是否另外进行存储(store),是否创建索引(index),字段类型(type)等信息。
然后在我们新增文档时,es会根据创建的mapping对新增的数据进行处理,其中比较重要的就是将文档信息进行维护到倒排索引表。下图表示了一个文档信息与倒排索引表的表格对应关系:
我们在创建mapping时,我们指定了对 title、content字段进行分词操作。当我们新增第一条数据后,系统会对title以及content进行分词,分词后的每个词典单独为倒排索引表中的一行记录,并且记录了该词典所出现在索引中的id,以及出现的字段位置(title\content)。然后当我们进行了搜索后,es将我们搜索的词语进行分词后然后在倒排索引表中进行匹配,匹配上之后直接根据匹配得记录中的索引表id进行直接查询返回。如果没有倒排索引表就好比数据中操作,只能在索引中逐行进行扫描,可想而知,倒排索引表的方式极大的提高了检索的效率。
ps:与es相似的框架还有 solr。数据库中like不走索引。
3,linux下安装Elasticsearch 以及 kibana
环境:linux:centos 7,es:6.8.0,kibana 6.8.1
3.1:根据之前安装人员介绍避免操作权限问题,在Linux中我们为es单独创建一个操作用户。
使用命令 useradd、以及设置密码 passwd命令
3.2:切换到 Elastic用户下 上传 es和kibana的安装包,并进行重命名及解压操作
上传可以使用rz命令,如果没有则使用其他工具上传;
解压以及重命名命令:
tar vxf elasticsearch-6.8.0.tar.gz
mv elasticsearch-6.8.0 elasticsearch
3.3:修改配置文件
1,可选,修改es初始化以及最大内存(默认1G)jvm.options
2,修改es数据文件存放位置,以及log生成位置、网络ip(config/elasticsearch.yml)
其中network.host 表示 所有ip都可以进行连接。
3.4,进行启动
在elasticsearch/bin/目录下 使用./elasticsearch 进行前台启动。在启动过程中我们可以看到如下错误:
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
其大致表示文件权限问题;
3.5,处理问题:
切换到root账户下 修改文件vim /etc/security/limits.conf;G 命令跳至末尾添加
* soft nofile 65536
* hard nofile 131072
* soft noroc 4096
* hard noroc 4096
设置文件权限,* 表示所有用户;
处理问题2:
修改文件 vim /etc/sysctl.conf 添加 vm.max_map_count=262144
保存后执行命令 sysctl –p
执行后需要重新登录客户端连接;
重新启动后成功。 说明:启动完成后如果 ctrl+c 会吧es停掉,如果需要可以 使用 ./elasticsearch –d 进行后台启动;
3.6,重新启动
访问ip(linux服务器ip)以及默认端口 9200 出现如下显示则表示正常。(如果ip访问不通,有可能为防火墙问题)
3.7,kinaba安装 解压 配置
解压 tar vxf kibana-xxxxxx.tar.gz
修改目录名
mv kibana-6.8.9-linux_64 kibana
3.8,修改kibana配置文件
修改其config下配置文件 kibana.yml 中 server.host:”0.0.0.0”,以及尾部语言 en为zh-CN;
3.9,启动kibana
在 kibana/bin 目录下 ./kibana 则可以进行启动。
启动成功后访问 http://linuxip:5601 则可以正常打开欢迎页面。
ps(如果kibana启动失败,则可以使用head插件删除所有kibana的索引重新启动;linux解压命令:.gz 使用 tar vxf ;zip 使用unzip 解压;)
Elasticsearch(一) ES之简介、倒排索引介绍以及 elasticsearch、kibana安装相关推荐
- ElasticSearch简介及ElasticSearch部署、原理和使用介绍
ElasticSearch简介及ElasticSearch部署.原理和使用介绍 第一章:elasticsearch简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式 ...
- elasticsearch系列一:elasticsearch(ES简介、安装amp;配置、集成Ikanalyzer)
一.ES简介 1.ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与 ...
- ElasticSearch(ES)介绍
前言 为什么学习ElasticSearch? 1.ElasticSearch具备非常强的大数据分析能力.虽然Hadoop也可以做大数据分析,但是ElasticSearch的分析能力非常高,具备Hado ...
- C# 如何使用 Elasticsearch (ES)
Elasticsearch简介 Elasticsearch (ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好 ...
- ElasticSearch面试 - es 写入数据的工作原理是什么啊?
ElasticSearch面试 - es 写入数据的工作原理是什么啊? 面试题 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗? ...
- Elasticsearch(ES)入门,这一篇就够了
实时搜索引擎Elasticsearch Elasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进 ...
- ElasticSearch (ES)
目录 一.ElasticSearch介绍 1.什么是ElasticSearch 2.ElasticSearch原理 二.安装ElasticSearch 1.环境需求 2.下载ES 3.安装ES 3.修 ...
- ES安装的详细步骤、ES的集群搭建以及ElasticSearch安装时可能出现的问题
目录 什么是es? 正排索引和倒排索引 安装 ElasticSearch的简单步骤 环境需求 安装ES 下载 设置虚拟机内存 创建用户 安装 ES的目录结构及其作用 配置文件以及作用 修改配置文件el ...
- ElasticSearch、ES、es使用教程
Elasticsearch 简介 官网学习文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index.html Elast ...
最新文章
- Debian 10发布:基于Linux 4.19内核,包含5.9万软件包
- 如何更改java源码_java – 如何在Android中更改ImageView源码
- RabbitMQ原理RabbitMQ各组件作用RabbitMQ使用场景
- Serverless 工程实践|自建 Apache OpenWhisk 平台
- 图书馆预约在线课程方法
- mysql 密码文件改成密文_数据库密码弄成密文
- UVALive4983 UVa1593 POJ3959 Alignment of Code【字符串流+输入输出】
- 免安装mysql配置图解_mysql免安装版配置步骤详解分享
- 【渝粤题库】陕西师范大学800006 世界地理
- python3安装MySQLdb
- VB模拟按键终极教程
- 怎样用比较器实现信号的衰减和饱和_小器件大功用之变频器输入滤波器
- 初入编程 - HTML + CSS
- 棋牌游戏网站分析——远航游戏中心
- lehigh计算机就业,2016美国大学计算机专业排名
- 终于有人把智能语音处理讲明白了
- Linux系统的介绍及安装
- python更新数据库方法_python更新不了数据库解决方法
- 【Egret优化分享】白鹭引擎王泽:重度H5游戏性能优化技巧
- Win10 年度最重大更新:代码、理想与爱