herman的文章

JAVA

Lucene 实战教程第十一章详解 IndexSearcher 索引搜索器

7年前 (2018-12-13) 3861浏览

所有建立索引的目的就是为了检索。    索引一般只需要建立一次,但是搜索才是核心。建立索引的目的就是为了检索。IndexSearcher 索引搜索器是 Lucene 中核心的核心,是搜索过程中最重要的和核心组件。本文...

JAVA

了解多线程,先从“图”了解线程的基本状态

7年前 (2018-12-12) 2855浏览

最近我看了混沌大学里张首晟教授的演讲,张教授始终强调一个“大道至简”的至理名言。因为所有的科学发现,技术进步都是从简单的基础知识得来的。比如:勾股定理,欧几里得几何,万有引力,相对论等,都是基于自然界的自然事实得出的。 ...

JAVA

Lucene 实战教程第九章自定义 Analyzer

7年前 (2018-12-12) 2783浏览

在 Lucene 中,不仅 TokenFilter 我们可以自定义,Analyzer 我们也可以自定义。本文介绍两个扩展 Analyzer 的例子,分别实现扩展停用词,实现字长过滤的功能。 自定义 Analyzer 自定义 Analy...

JAVA

Lucene 实战教程第八章说说 TokenStream 和 TokenFilter

7年前 (2018-12-12) 3959浏览

当你深入骨髓的去了解一项技术,你才能获得快感!上一章,我们说过 Analyzer 分词器的主要是用来构建 TokenStreams,那么我们今天就一起通过本文来看看 Analyzer 的内部构造,TokenStream 和 TokenFilter...

JAVA

Lucene 实战教程第四章详解 Field(字段)域和 IndexableField

7年前 (2018-12-11) 5537浏览

Field 有人称之为字段,也有人称之为域,看个人爱好。在 Lucene 中,Field 域非常的重要。一个文档 Document 可以包括多个 Field,Document 只是 Field 的一个承载体,Field 值即为要索引的内容,也是要...

SQL

MySQL 性能优化神器 Explain 使用教程

7年前 (2018-12-11) 6051浏览

今天微信群里一位网友发了一个问题:“mysql 根据时间进行过滤,查询速度特别慢,需要 30 多秒”。然后我问她,数据库中总数据量大概是多少,她告诉我 explain 执行结果中的 rows 显示有 100 多万条。我告诉...

JAVA

Lucene 实战教程第三章创建索引 IndexWriter

7年前 (2018-12-10) 3321浏览

我在前面介绍过,所有的搜索技术大部分都是靠索引来实现,所以索引很重要。于是我就把索引这一块单独的抽取出来作为一章来写。 通过上面这张流程图,我们也可以看出索引对于 Lucene 的重要性。 全文检索的流程分为两大部分:索引流程...

JAVA

Lucene 实战教程第二章入门教程 Hello World

7年前 (2018-12-10) 2928浏览

基于前一章的内容,我们对 Lucene 有了一个大概的了解,本文来一个 Hello World 程序!让我们从此开启 Lucene 的学习模式。 首先,我们新建一个 Maven 项目,然后在 pom.xml 中配置以下内容: <...

JAVA

Lucene 实战教程第一章 Lucene 简介

7年前 (2018-12-10) 3119浏览

Lucene 近年来越来越火,电商项目基本上都有使用。最近我在优化一些公司内部的系统,其中在搜索模块,我打算使用 Lucene 取代原来的基于 SQL 形式的搜索。本文算是 Lucene中文教程的第一章,认识 Lucene,和它的一些核心类介绍。...