Lucene 实战教程第十四章使用 MultiReader 实现多索引的搜索合并搜索
6年前 (2018-12-13) 3357浏览
在使用 Lucene 的过程中,我们需要通过 FSDirectory.open(Paths.get("D:\\xttblog")); 之类的得到 lucene 的索引目录。然后再得到 IndexWriter,或者通过 Dire...
6年前 (2018-12-13) 3357浏览
在使用 Lucene 的过程中,我们需要通过 FSDirectory.open(Paths.get("D:\\xttblog")); 之类的得到 lucene 的索引目录。然后再得到 IndexWriter,或者通过 Dire...
6年前 (2018-12-13) 3948浏览
AI 和人工智能正在崛起,导致一些人们担心 AI 会取决人类。这其实是一种杞人忧天,马云认为 AI 应翻译为“机器智能” 而不是“人工智能”,而我也是这样认为的。 随着 AI 的崛起,网上流行...
6年前 (2018-12-13) 3888浏览
在某些需求场景下,我们可能需要禁用模糊查询 FuzzyQuery 和通配符查询 WildcardQuery,那通过 QueryParser 该怎么做呢? 答案就是重写 QueryParser 类。实现自己的 QueryParser 类,并将...
6年前 (2018-12-13) 2232浏览
Lucene 中的 IndexSearcher 提供了一整套完整的搜索体系,这套查询体系是建立在 SpanQuery 类的基础上。SpanQuery 类大致的反映了 Lucene 的 Query 类体系。今天我们一起来学习学习 SpanQuery...
6年前 (2018-12-13) 3514浏览
所有建立索引的目的就是为了检索。 索引一般只需要建立一次,但是搜索才是核心。建立索引的目的就是为了检索。IndexSearcher 索引搜索器是 Lucene 中核心的核心,是搜索过程中最重要的和核心组件。本文...
6年前 (2018-12-12) 2597浏览
最近我看了混沌大学里张首晟教授的演讲,张教授始终强调一个“大道至简”的至理名言。因为所有的科学发现,技术进步都是从简单的基础知识得来的。比如:勾股定理,欧几里得几何,万有引力,相对论等,都是基于自然界的自然事实得出的。 ...
6年前 (2018-12-12) 3109浏览
从教程的第一篇到现在,大家可能会发现一个问题。那就是所有的 Document 文档或者 Field 字段都使用的是同一个分词器。那么有没有办法让不同的 Field 使用不同的分词器呢? 答案就是 PerFieldAnalyzerWrappe...
6年前 (2018-12-12) 2502浏览
在 Lucene 中,不仅 TokenFilter 我们可以自定义,Analyzer 我们也可以自定义。本文介绍两个扩展 Analyzer 的例子,分别实现扩展停用词,实现字长过滤的功能。 自定义 Analyzer 自定义 Analy...
6年前 (2018-12-12) 3568浏览
当你深入骨髓的去了解一项技术,你才能获得快感!上一章,我们说过 Analyzer 分词器的主要是用来构建 TokenStreams,那么我们今天就一起通过本文来看看 Analyzer 的内部构造,TokenStream 和 TokenFilter...
6年前 (2018-12-12) 2629浏览
这一章也不算是什么新的内容了,前面我已经写过两篇关于 Analyzer 的内容了。它们分别是《深入理解 Lucene 的 Analyzer》、《详解 org.apache.lucene.analysis.Analyzer 使用教程》。这篇文章,我...
6年前 (2018-12-12) 4230浏览
所有的搜索基本上都存在精确匹配,包含等操作。Lucene 中同样存在这样的操作,今天我们以 IntPoint 为例,来说说 Lucene 中的精确查询。 IntPoint、LongPoint、FloatPoint、DoublePoint 这...
6年前 (2018-12-11) 3387浏览
要理解 Lucene,必须要先对它的基本构成有所了解。上一章我写了 Field,有些人还是看不明白,在微信群里讨论。所以,这一章我在把 Lucene 内部的几个概念拿出来讲一讲。 如果这几个概念:索引(index)、段(Segement)、...
6年前 (2018-12-11) 5249浏览
Field 有人称之为字段,也有人称之为域,看个人爱好。在 Lucene 中,Field 域非常的重要。一个文档 Document 可以包括多个 Field,Document 只是 Field 的一个承载体,Field 值即为要索引的内容,也是要...
6年前 (2018-12-11) 4320浏览
接上一篇,我解释了为什么 EXPLAIN 估算 ROWS 不准确?并且解释了 ROWS 的计算原理。本文,我们在来说一下,ROWS 计算不准确,有没有替代方案? 替代方法肯定有,看标题,注意标题。接下来,我们说说 SHOW STATUS。 ...
6年前 (2018-12-11) 5722浏览
今天微信群里一位网友发了一个问题:“mysql 根据时间进行过滤,查询速度特别慢,需要 30 多秒”。然后我问她,数据库中总数据量大概是多少,她告诉我 explain 执行结果中的 rows 显示有 100 多万条。我告诉...