使用Logstash将Kafka中的数据导入到ElasticSearch

本文介绍如何使用Logstash将Kafka中的数据写入到ElasticSearch。使用的各个组件版本如下:kafka_2.11-2.2.0elasticsearch 6.8.3logstash 6.8.3组件安装这里就不赘述了,主要说一下操作流程和需要注意的一些细节。Logstash工作的流程由三部分组成:input:输入(即source),必须要有,指明从那里读取数据。filter:过滤,logstash对数据的ETL就是在这个里面进行的,这一步可选。output:输出(即sink),必须

- 阅读全文 -

Lucene系列(6)——字段及其属性

注:本文基于Lucene 8.2.0 版本。回忆一下之前文章中创建字段(Field)的一些代码片段:// 片段1 Field pathField = new StringField("path", file.toString(),Field.Store.YES); // 片段2 FieldType fieldType = new FieldType(); fieldType.setStored(true); fieldType.setStoreTermVectors(tru

- 阅读全文 -

Lucene系列(5)——倒排索引、Token与词向量

注:本文基于Lucene 8.2.0 版本。上文我们对Analyzer的原理和代码进行了分析,主要偏重流程,这篇文章来分析Analyzer的输出细节——Token。对原始数据进行Analyze的终极目的是为了更好的搜索,所以还会讨论和搜索相关的倒排索引和词向量(Term Vector)。倒排索引(Inverted Index)和正向索引(Forward Index)我们用一个例子来看什么是倒排索引,什么是正向索引。假设有两个文档(前面的数字为文档ID):a good student.a gift

- 阅读全文 -

Lucene系列(4)——Analyzer原理及代码分析

注:本文基于Lucene 8.2.0 版本。前面的文章中多次提到了分析器Analyzer,它就像一个数据加工厂,输入是原始的文本数据,输出是经过各种工序加工的term,然后这些terms以倒排索引的方式存储起来,形成最终用于搜索的Index。所以Analyzer也是我们控制数据能以哪些方式检索的重要点,本文就带你来了解一下Analyzer背后的奥秘。内置的Analyzer对比Lucene已经帮我们内置了许多Analyzer,我们先来挑几个常见的对比一下他们的分析效果吧。看下面代码(源文件见Ana

- 阅读全文 -

Lucene系列(3)——术语总结

注:本文基于Lucene 8.2.0 版本。前两篇文章分别从理论和代码角度概览了Lucene的功能,在开始各个模块的深入学习之前,我们先来总结一下之前提到的一些概念、术语,因为这些会贯穿后面几乎所有的文章,所以有必要理解清楚。其中有些概念是Lucene定义的,有些则是通用的IR领域术语。我画了一个索引整体的逻辑结构图,如下所示:我们根据图来介绍各个概念术语。索引(Index)对于初学全文检索的人来说,索引这个词非常具有迷惑性,主要原因是它有两个词性:动词:做动词时,一般英文写为“indexing

- 阅读全文 -

Lucene系列(2)——代码实践

注:本文基于Lucene 8.2.0 版本。上篇文章《Lucene系列(1)——理论介绍》中我们说了搜索的流程分前台用户查询流程和后台索引构建流程。本文就借助Lucene(目前最新的8.2.0版本)来实现这两个流程。当然,我们说了Lucene并不负责数据采集和提取,所以为了简单起见,我从网上找了几首精美的英文短诗作为原始数据,你可以认为这就是爬虫从互联网上面爬取并且经过一些初步处理的数据(删除了HTML标签,提取了诗的内容)。原始数据原始数据为4首英文短诗,每个诗对应一个文件,文件名为诗名。这里

- 阅读全文 -

Lucene系列(1)——理论介绍

注:本文基于Lucene 8.2.0 版本。说到搜索我们的第一反应应该就是百度、Google这样的搜索巨头,然后一些开发者可能还会想到Solr和ElasticSearch(后文简称ES)这样的开源的全文检索(full-text search)引擎。特别是ES,现在发展的可谓是如火如荼,前段时间还和阿里、腾讯达成战略合作,开始在中国市场发力。不论是百度搜索、Google搜索、Solr或者ES,它们都是为了解决一个问题:信息检索(Information Retrieval,IR)。这是一门非常古老且

- 阅读全文 -

IDEA或Eclipse中编译调试ElasticSearch源码

对于想深入学习ES的人来说,编译源码,从而方便的进行阅读、调试是必不可少的。这方面的文章也不少,我尝试过几个,但多多少少都碰到了一些问题。最后参考官方的一篇博客编译成功了,可以正常的调试代码,且步骤简单。原文也不长,英文能力还行的可以直接阅读原文:How to Debug Elasticsearch Source Code in IntelliJ IDEA。这里我简单总结并扩展一下,也支持Eclipse,并说明一下实际操作中要注意的细节。关于JDK版本ES是Java开发的,所以编译的时候肯定是需

- 阅读全文 -

微信公众号

随机文章

最近回复

  • NYC: 客气了
  • Aidan: 博主您的博客写的非常好,相见恨晚 ps: 不好意思,有点激...
  • Aidan: 博客您的博客写的非常好
  • Aidan: 非常好的网站
  • repostone: 非技术的路过。
  • NYC: 确认一下你配置的调度策略是Fair,而不是Capacity,不要...
  • NYC: 这个没问题,我文章里面说的是策略,配置的时候是通过CDH配置的。...
  • 一方: 但是我的action队列抢占了资源,导致action不能并行,难...
  • NYC: 是的,不管是哪个队列,队列内部只要有资源够action/lanu...
  • 一方: 老铁,我想问下,你分配好队列,然后固定了lancher队列的am...

分类

标签