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

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

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

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

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

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

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

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

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

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

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

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

IDEA或Eclipse中编译调试ElasticSearch源码

对于想深入学习ES的人来说,编译源码,从而方便的进行阅读、调试是必不可少的。这方面的文章也不少,我尝试过几个,但多多少少都碰到了一些问题。最后参考官方的一篇博客编译成功了,可以正常的调试代码,且步骤简单。原文也不长,英文能力还行的可以直接阅读原文:How to Debug Elasticsearch Source Code in IntelliJ IDEA。这里我简单总结并扩展一下,也支持E...

Flink FLIP-50: Spill-able Heap Keyed State Backend

最近Flink有个新特性FLIP-50提交到社区,并且已经被社区接受了,这个特性名称为:FLIP-50: Spill-able Heap Keyed State Backend。是的,这关于state的一个特性。在流处理中,如果处理流程中涉及状态,那就需要一种机制能够缓存这个状态的数据,比如Window算子就是流式框架中常见的一种包含状态的算子。举个业务上的例子,比如我们要统计5分钟内耗时最...
站点总览
  • 文章总数:290篇
  • 分类总数:11个
  • 评论总数:460条
  • 运行时间:7年8天
最近评论
Michael翔哈哈哈,希望将来有机会学习学习你的「养娃体系1.0」和「理财体系1.0」
蟋蟀只是在本地测试,我生成的镜像名称叫flink:1.12.0-scala_2.12-java8,...
蟋蟀application模式下提交任务成功后,之前起client作用的在集群端运行的应用实例会一...
蟋蟀我在mac机器上安装好了minikube,并按照上述步骤成功构建了flink 1.12版本的d...
刘小新感谢作者的无私奉献,收获很大∠( ᐛ 」∠)_
刘小新给作者的辛苦劳动点个赞!
刘小新作者Lucene系列讲的真是太好了,佩服!!!
Peter大佬,能否加个友链呢?向您学习的
Michael翔虽然看似基础,但是深入研究并不简单,赞~PS:最后的「##总结」,语法应该少了个空格啦~
徐小鹏小米手环5的睡眠监测确实不行,