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 解压;)

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值