一个文件汇集搜索系统(NiFi + ELK)

目的

建立一个文件夹,文件夹中存放一些文本文件, 系统实时监测此文件夹,当有文件变化时候,自动执行入库功能(将文件内容推送到搜索库),

文件内容可以即时被搜索系统搜索到。

技术依赖

1、 NIFI -- 文件检测入库

2、 ElasticSearch -- 文件内存存储和搜索

3、 Kibana负责Elastic数据库的测试(dev tool功能)

NiFi流配置

Overview

ListFile -》 FetchFile -》 ExtractText -》 AttributeToJson -》 PutElasticHttp

ListFile

指定观测的文件夹。

FetchFile

配置不用修改。

符合获取文件内容,存储到flow content中。

ExtractText

新增最后一个属性 fullContent ,其值是捕获文件中所有内容。

此属性会作为 flow attribute出现。

AttributesToJSON

在第一行,指定需要转换的属性名称。

第三行,执行转换成的JSON数据,保存的位置,是content,还是attribute。

PutElasticHttp

第一行,执行elastic的服务器。

 倒数第三到第五行

指定了elastic中存储的要素, 文档id + 索引名 + 索引类型

测试

创建一个含有 hello kitty 的文件。

在kibana上查询 kitty关键字:

参考:

https://gitee.com/streamone/full-text-search-in-action/blob/master/doc/ElasticSearch%20%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2%E5%AE%9E%E6%88%98.md

猜你喜欢

转载自www.cnblogs.com/lightsong/p/12688996.html
elk