Python下elasticsearch-rtf与kibana的安装与集成

什么是ElasticSearch ?

ElasticSearch是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。------【百度百科】

官网地址:www.elastic.co

由于我们基于 Pyhton在github上有大神已经帮我们提供了资源,集成了许多资源包且安装简单:

elasticsearch-rtf:https://github.com/medcl/elasticsearch-rtf

1.运行环境

        a.JDK8+ 
        b.系统可用内存>2G 

JDK要在1.8版本及以上,JDK的安装这里不赘述,网上教程很多也不难,要注意设置好环境变量的PATHJAVA_HOME

安装后在CMD输入 java -version 检测是否JDK符合要求:

2. 安装

下载地址:https://github.com/medcl/elasticsearch-rtf/archive/master.zip

大约两百多M,耐心等待下载完成后解压:

通过CMD的 cd 命令,切换到该目录下,记得替换自己的路径

cd /d D:\Python\elasticsearch-rtf-master\bin

随后输入:

elasticsearch.bat

它会自动安装,并将依赖包一同安装,安装过程中会有些卡,安装完成后出现:

我们可以在浏览器中打开,127.0.0.1:9200  访问elasticsearch:

出现上述界面,则 elasticsearch-rtf 安装成功。

----------------------------------------------------------------------------------------------------------------------------------------

head插件的安装

        a.安装nmp 
        b.安装cnmp(nmp的淘宝镜像,在下载依赖包的时候能更快和减少错误)
        c.安装elasticsearch-head插件

   a.安装npm

官网安装npm:http://nodejs.cn/download/

如果是windows64bit直接单击:https://npm.taobao.org/mirrors/node/v10.13.0/node-v10.13.0-x64.msi

下载完成后直接双击安装包,安装过程比较简单这里省略,安装完成后在CMD输入npm,如图即为安装成功:

   b.安装cnpm
这个的安装就比较简单,在安装的npm成功后,直接在CMD中输入:

npm install -g cnpm --registry=https://registry.npm.taobao.org

等待一会后,安装成功:

输入 cnpm,如图即为成功:

   c. elasticsearch-head 安装

接下来,开始正式安装 elasticsearch-head 插件了。

下载地址:https://github.com/mobz/elasticsearch-head/archive/master.zip

下载后解压:

打开CMD,输入:

cd /d E:\Downloads\master\elasticsearch-head-master

然后输入:

cnpm install

它会自动下载所需的相关模块,等待安装完成后,输入:

cnpm run start

发现它在9100端口启用服务,我们打开后发现:

我们发现这里,集群未连接,这是由于elasticsearch默认不允许使用第三方的服务,那么我们需要修改几个配置。

Notepad++打开elasticsearch/config/elasticsearch.yml 这个文件,用 记事本打开之后会有奇怪的错误,这里建议Notepad++:

在末尾加上:

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

我们 Ctrl+C 先关闭 elasticsearch 服务:

然后再通过 cmd 在对应目录下输入elasticsearch.bat,重新启用服务:

重新打开 127.0.0.1:9100 ,点击连接,发现这回连接成功了:

----------------------------------------------------------------------------------------------------------------------------------------

kibana的安装

进入官网: https://www.elastic.co/downloads/past-releases

由于我们用的是 elasticsearch-rft ,核心的ES版本是5.1.1,因此我们kibana也选择5.1.1,记住二者版本要一致。

Windows下载链接:https://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-windows-x86.zip

ES版本可以在 127.0.0.1:9200 查看:

在 Kibana 下载页面中,选择 5.1.1版本下载:

依旧是下载后解压:

依旧是CMD中输入:

cd /d D:\Python\kibana-5.1.1-windows-x86\kibana-5.1.1-windows-x86\bin

然后输入:

kibana.bat

打开 127.0.0.1:5601 出现下面界面,那么就完成了:

----------------------------------------------------------------------------------------------------------------------------------------

elasticsearch-dsl配置

最后就是将 elasticsearch 和Python集成,能通过Python完成对elasticsearch的操作,这里我们用到了elasticsearch-dsl,

官方文档:https://elasticsearch-dsl.readthedocs.io/en/latest/

通过命令安装,elasticsearch-dsl模块,注意版本应与之前安装的版本一致:

pip install elasticsearch==5.1
pip install elasticsearch-dsl==5.1

打开 Pycharm,输入:

from elasticsearch_dsl import DocType, Date, Keyword, Text, Integer
from elasticsearch_dsl.connections import connections

connections.create_connection(hosts=["localhost"])


class TextType(DocType):
    title = Text(analyzer="ik_max_word")
    url = Keyword()
    pubic_date = Date()
    tags = Text(analyzer="ik_max_word")
    content = Text(analyzer="ik_max_word")
    comment_num = Integer()

    class Meta:
        index = "text"
        doc_type = "article"


if __name__ == '__main__':
    TextType.init()

运行后访问 9100 端口,发现 text 就已经生成了。

 

写入数据就比较简单,将 该类 实例化后直接赋值, 就不细写了,伪代码如下:

instance = TextTyepe()
instance.title = "A title"
instance.url = "url.com"
......

instance.save()  # 将数据保存

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值