ElasticSearch与Kibana插件安装及简介(一)

版权声明:水平有限,博客中难免不少纰漏甚至严重错误,希望大家指正。同时撰写最大的目的也在于交流学习,而不在关注和传播。任重而道远,MrYx与您共勉。 https://blog.csdn.net/yexiaohhjk/article/details/83512235

ElasticSearch简介

全文搜索属于最常见的需求,开源的 Elasticsearch(以下简称 Elastic)是目前全文搜索引擎的首选。

它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。
image

Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口,比如我用的就是Python
同时Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用,即curl命令。

本文从零开始,记载一下在学习使用Elastic的心得和笔记,以及它简单的原理。

Ubuntu环境下ElasticSearch安装

首先本人环境是ubuntu18.04。

Elastic需要JAVA的环境,所以如果机器没有Java需要提前配置。我的电脑是ubuntu18.04 ,系统自带Java10的环境。

ubuntu检测 java环境: 在Terminate(终端)键入: java -version
显示

openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)

表示java环境已经配好。

然后直接去ElasticSearch官网下载对应版本。

推荐不要下最新的,因为可能好用的插件没有更新适配,或者语法修改了,最新学习资料不好找。我下载是6.2.4

elasticsearch-head管理工具安装(不推荐)

服了,参考博客搞了一晚上(实验室垃圾网速20kb/s),安装过程很顺利。但我遇到localhost:9200显示总是连接不上,尝试博客1,博客2等各种方法,装了卸,未果,浪费一晚上,弃疗保平安,换下面Kibana一次就成功!

扫描二维码关注公众号,回复: 4439532 查看本文章

唯一值得尝试elasticsearch-head的理由可能是它使用界面匹配了中文…(暴露英语差)。

Kibana 管理工具安装(推荐)

Kibana 是一个开源分析和可视化平台,旨在可视化操作 Elasticsearch 。Kibana可以用来搜索,查看和与存储在 Elasticsearch 索引中的数据进行交互。可以轻松地进行高级数据分析,并可在各种图表,表格和地图中显示数据。

Kibana 可以轻松理解海量数据。其简单的基于浏览器的界面使您能够快速创建和共享动态仪表板,实时显示 Elasticsearch 查询的更改。

安装Kibana简单快速。您可以安装 Kibana ,并在几分钟内开始探索您的 Elasticsearch 索引 - 不需要代码,也不需要需额外的基础架构。

安装过程:

官网 下载对应ElastiSearch的版本。 我推荐下载.tar格式,然后解压到本地。

这时候可以选择先配置/config/kibana.yml文件。
sudo gedit kibana.yml

server.port: 5601 (默认)  //kibana端口

server.host: ip (默认localhost)  //服务的ip

server.name: //kibana实例名称

elasticsearch.url: //elasticsearch地址,默认http://localhost:9200

保存之后,在/bin/文件里,启动Kibana: ./kibana

然后浏览器键入localhost:5601

Ik分词工具安装

首先安装分词器IK,当然你也可以安装别的。
IK的官方github找到对应ES version.
我的ES是6.2.4,推荐使命令行在线下载方式:
进到你的elasticsearch目录里,输入:

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.4/elasticsearch-analysis-ik-6.2.4.zip

这里面6.2.4换成你的es版本对应的Ik版本。
下载完后,重新启动elasticsearch,Ik即自动运行。

然后,新建一个 Index,指定需要分词的字段。这一步根据数据结构而异,下面的命令只针对本文。基本上,凡是需要搜索的中文字段,都要单独设置一下。

curl -H "Content-type:application/json" -X PUT 'localhost:9200/accounts' -d '{
  "mappings": {
    "person": {
      "properties": {
        "user": {
          "type": "text",
          "analyzer": "ik_max_word",
          "search_analyzer": "ik_max_word"
        },
        "title": {
          "type": "text",
          "analyzer": "ik_max_word",
          "search_analyzer": "ik_max_word"
        },
        "desc": {
          "type": "text",
          "analyzer": "ik_max_word",
          "search_analyzer": "ik_max_word"
        }
      }
    }
  }
}'

上面新建一个指定的index命令中,analyzer是字段文本的分词器,search_analyzer是搜索词的分词器。ik_max_word分词器是插件ik提供的,可以对文本进行最大数量的分词。

curl -H "Content-type:application/json"  -X PUT 'localhost:9200/accounts/person/1' -d '
{
  "user": "张三",
  "title": "工程师",
  "desc": "数据库管理"
}' 

学习过程参考的资料

ElastiSearch中文社区

该博客版本有点老,部分安装步骤参考于此

阮一峰大佬博客质量很高,后面curl命令操作也是学习于此

python操作Es的实例:该博客给的例子和代码很详细

python操作于ES:崔大佬的博客,质量也很高,言简意赅,通俗易懂

bulk批量导入数据到ES

python 的 xlrd包操作xlxs文件

猜你喜欢

转载自blog.csdn.net/yexiaohhjk/article/details/83512235