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安装相关推荐

  1. ElasticSearch简介及ElasticSearch部署、原理和使用介绍

    ElasticSearch简介及ElasticSearch部署.原理和使用介绍 第一章:elasticsearch简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式 ...

  2. elasticsearch系列一:elasticsearch(ES简介、安装amp;配置、集成Ikanalyzer)

    一.ES简介 1.ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与 ...

  3. ElasticSearch(ES)介绍

    前言 为什么学习ElasticSearch? 1.ElasticSearch具备非常强的大数据分析能力.虽然Hadoop也可以做大数据分析,但是ElasticSearch的分析能力非常高,具备Hado ...

  4. C# 如何使用 Elasticsearch (ES)

    Elasticsearch简介 Elasticsearch (ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好 ...

  5. ElasticSearch面试 - es 写入数据的工作原理是什么啊?

    ElasticSearch面试 - es 写入数据的工作原理是什么啊? 面试题 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗? ...

  6. Elasticsearch(ES)入门,这一篇就够了

    实时搜索引擎Elasticsearch Elasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进 ...

  7. ElasticSearch (ES)

    目录 一.ElasticSearch介绍 1.什么是ElasticSearch 2.ElasticSearch原理 二.安装ElasticSearch 1.环境需求 2.下载ES 3.安装ES 3.修 ...

  8. ES安装的详细步骤、ES的集群搭建以及ElasticSearch安装时可能出现的问题

    目录 什么是es? 正排索引和倒排索引 安装 ElasticSearch的简单步骤 环境需求 安装ES 下载 设置虚拟机内存 创建用户 安装 ES的目录结构及其作用 配置文件以及作用 修改配置文件el ...

  9. ElasticSearch、ES、es使用教程

    Elasticsearch 简介 官网学习文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index.html Elast ...

最新文章

  1. Debian 10发布:基于Linux 4.19内核,包含5.9万软件包
  2. 如何更改java源码_java – 如何在Android中更改ImageView源码
  3. RabbitMQ原理RabbitMQ各组件作用RabbitMQ使用场景
  4. Serverless 工程实践|自建 Apache OpenWhisk 平台
  5. 图书馆预约在线课程方法
  6. mysql 密码文件改成密文_数据库密码弄成密文
  7. UVALive4983 UVa1593 POJ3959 Alignment of Code【字符串流+输入输出】
  8. 免安装mysql配置图解_mysql免安装版配置步骤详解分享
  9. 【渝粤题库】陕西师范大学800006 世界地理
  10. python3安装MySQLdb
  11. VB模拟按键终极教程
  12. 怎样用比较器实现信号的衰减和饱和_小器件大功用之变频器输入滤波器
  13. 初入编程 - HTML + CSS
  14. 棋牌游戏网站分析——远航游戏中心
  15. lehigh计算机就业,2016美国大学计算机专业排名
  16. 终于有人把智能语音处理讲明白了
  17. Linux系统的介绍及安装
  18. python更新数据库方法_python更新不了数据库解决方法
  19. 【Egret优化分享】白鹭引擎王泽:重度H5游戏性能优化技巧
  20. Win10 年度最重大更新:代码、理想与爱

热门文章

  1. powerDesigner需求建模
  2. 设计模式之单例模式的多重实现
  3. Springboot与Ajax整合练习?
  4. java单双引号的区别
  5. 职高有计算机专业前途怎么样,职高有哪些专业前途好有发展前景
  6. Date对象 IOS踩坑
  7. Linux运维之道之ENGINEER1.3(配置SMB共享,配置NFS共享)
  8. IOS9 微信sdk升级指南
  9. linux命令-tar命令
  10. MFC之处理消息映射的步骤...