注:本文基于Lucene 8.2.0 版本。前面的文章中多次提到了分析器Analyzer,它就像一个数据加工厂,输入是原始的文本数据,输出是经过各种工序加工的term,然后这些terms以倒排索引的方式存储起来,形成最终用于搜索的Index。所以Analyzer也是我们控制数据能以哪些方式检索的重要点,本文就带你来了解一下Analyzer背后的奥秘。内置的Analyzer对比Lucene已经...
注:本文基于Lucene 8.2.0 版本。前两篇文章分别从理论和代码角度概览了Lucene的功能,在开始各个模块的深入学习之前,我们先来总结一下之前提到的一些概念、术语,因为这些会贯穿后面几乎所有的文章,所以有必要理解清楚。其中有些概念是Lucene定义的,有些则是通用的IR领域术语。我画了一个索引整体的逻辑结构图,如下所示:我们根据图来介绍各个概念术语。索引(Index)对于初学全文检索...
注:本文基于Lucene 8.2.0 版本。上篇文章《Lucene系列(1)——理论介绍》中我们说了搜索的流程分前台用户查询流程和后台索引构建流程。本文就借助Lucene(目前最新的8.2.0版本)来实现这两个流程。当然,我们说了Lucene并不负责数据采集和提取,所以为了简单起见,我从网上找了几首精美的英文短诗作为原始数据,你可以认为这就是爬虫从互联网上面爬取并且经过一些初步处理的数据(删...
注:本文基于Lucene 8.2.0 版本。说到搜索我们的第一反应应该就是百度、Google这样的搜索巨头,然后一些开发者可能还会想到Solr和ElasticSearch(后文简称ES)这样的开源的全文检索(full-text search)引擎。特别是ES,现在发展的可谓是如火如荼,前段时间还和阿里、腾讯达成战略合作,开始在中国市场发力。不论是百度搜索、Google搜索、Solr或者ES,...
对于想深入学习ES的人来说,编译源码,从而方便的进行阅读、调试是必不可少的。这方面的文章也不少,我尝试过几个,但多多少少都碰到了一些问题。最后参考官方的一篇博客编译成功了,可以正常的调试代码,且步骤简单。原文也不长,英文能力还行的可以直接阅读原文:How to Debug Elasticsearch Source Code in IntelliJ IDEA。这里我简单总结并扩展一下,也支持E...
最近Flink有个新特性FLIP-50提交到社区,并且已经被社区接受了,这个特性名称为:FLIP-50: Spill-able Heap Keyed State Backend。是的,这关于state的一个特性。在流处理中,如果处理流程中涉及状态,那就需要一种机制能够缓存这个状态的数据,比如Window算子就是流式框架中常见的一种包含状态的算子。举个业务上的例子,比如我们要统计5分钟内耗时最...
本文讨论Filebeat收集文件的时候可能产生的数据重复或者数据截断及丢失的问题。数据重复关于数据重复我们先看关于Filebeat的一段官方描述:Filebeat guarantees that events will be delivered to the configured output at least once and with no data loss. Filebeat is ...
Filebeat作为elastic公司使用Golang开发的新一代的日志采集工具,旨在替换原来Logstash的日志收集功能(注意,Logstash的核心功能包含收集和解析两大块,Filebeat的定位只是替代收集部分,所以Filebeat并不能完全取代Logstash)。因为其性能高,资源占用少且轻量级,已经逐渐被很多公司采用。而使用的问题也非常多,今天来讨论之前在elastic中文社区看...
- « 前一页
- 1
- ...
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- ...
- 35
- 后一页 »