随笔分类 -  lucene学习

摘要:上节已经介绍了五种高级检索方式,现在我们来学习另外五种。事实上,今天要介绍的五种高级检索方式有共通之处:都可以解决上节提到的最后一个用户需求:帮助小明快速定位游戏分类,过滤掉其他分类内容。 六、BooleanQuery BooleanQuery是布尔查询,通过对其他查询(如上节讲到的TermQuer 阅读全文
posted @ 2017-05-12 09:40 shulin15 阅读(894) 评论(0) 推荐(0)
摘要:3.2 节我们已经运行了一个Lucene检索的小demo(3.2 Lucene实战:一个简单的小程序),能够进行基本的Lucene检索。然后,在实际应用中,用户的需求是多种多样的。比如: 用户可能对中日关系比较感兴趣,想查找‘中’和‘日’挨得比较近(5个字的距离内)的文章,超过这个距离的不予考虑。比 阅读全文
posted @ 2017-05-11 22:51 shulin15 阅读(988) 评论(0) 推荐(0)
摘要:3.2节我们已经运行了一个Lucene实现检索的小程序,这一节我们将以这个小程序为例,讲一下Lucene检索的基本步骤,同时介绍关键词高亮显示和分页返回结果这两个有用的技巧。 一、Lucene检索的基本步骤 1 import java.nio.file.Paths; 2 import java.io 阅读全文
posted @ 2017-05-09 22:24 shulin15 阅读(1003) 评论(0) 推荐(0)
摘要:3.2节我们已经运行了一个Lucene建立索引的小程序,这一节我们就以这个小程序为例讲解一下Lucene建立索引的过程。 1 import java.nio.charset.StandardCharsets; 2 import java.nio.file.Files; 3 import java.n 阅读全文
posted @ 2017-05-09 00:34 shulin15 阅读(782) 评论(0) 推荐(0)
摘要:相对于英文检索,中文检索有两个特别要考虑的问题:编码问题和中文分词问题。 一、编码问题 1. 为了解决中文编码问题,我们在网页结构化信息预处理的时候统一采用utf-8编码; 2. 在Lucene创建索引的时候,构造一个BufferedReader对象以utf-8编码读取文件,使用如下语句: Buff 阅读全文
posted @ 2017-05-07 01:36 shulin15 阅读(735) 评论(0) 推荐(0)
摘要:在讲解Lucene索引和检索的原理之前,我们先来实战Lucene:一个简单的小程序! 一、索引小程序 首先,new一个java project,名字叫做LuceneIndex。 然后,在project里new一个class,名字叫做Indexer。这个类用来给文件建索引(建好索引以后就可以高效检索了 阅读全文
posted @ 2017-05-05 08:21 shulin15 阅读(2831) 评论(1) 推荐(0)
摘要:Lucene是一个高效的,基于Java的全文检索库[1]。所以在介绍Lucene的检索功能之前,我们要先了解一下全文检索以及Lucene的索引结构。 一、全文检索的基本原理 1. 数据的分类 什么是全文检索呢,这要从我们生活中的数据说起。我们生活中的数据可以分为三种: 结构化数据:指具有固定格式或有 阅读全文
posted @ 2017-05-04 16:46 shulin15 阅读(829) 评论(1) 推荐(0)
摘要:Lucene是Java开发的一套用于全文检索和搜索的开源程序库,它面向对象多层封装,提供了一个低耦合、与平台无关的、可进行二次开发的全文检索引擎架构,是这几年最受欢迎的信息检索程序库[1]。对Lucene的进一步了解可以参照Lucene更详细的资料以及Lucene6.2.1的官方文档。 由于Luce 阅读全文
posted @ 2017-05-04 00:38 shulin15 阅读(5057) 评论(0) 推荐(0)
摘要:我们设计的儿童搜索引擎实现了三大系统:检索系统,推荐系统和前端展示系统。 1. 检索系统 检索系统是搜索引擎的核心,实现检索的基本功能。对于本系统,我们有两种实现方式: 基于Lucene的自建数据库的全文检索 基于已有独立网站的元搜索 2. 推荐系统 推荐系统是为用户推荐可能感兴趣的内容,分为两个步 阅读全文
posted @ 2017-05-02 22:58 shulin15 阅读(1535) 评论(0) 推荐(0)
摘要:用lucene3实现搜索多字段并排序功能(设置权重) 阅读全文
posted @ 2017-04-27 17:44 shulin15 阅读(140) 评论(0) 推荐(0)
摘要:Lucene BooleanQuery中的Occur.MUST与Occur.Should 阅读全文
posted @ 2017-04-27 17:38 shulin15 阅读(204) 评论(0) 推荐(0)
摘要:Lucene自带的中文分词器SmartChineseAnalyzer不太好扩展,于是我用了IKAnalyzer来进行敏感词和停用词的过滤。 首先,下载IKAnalyzer,我下载了 然后,由于IKAnalyzer已经很久不更新了,不兼容现在的Lucene6版本,所以我参考网上的资料,重写了IKTok 阅读全文
posted @ 2017-03-21 17:46 shulin15 阅读(6088) 评论(5) 推荐(0)
摘要:参考资料:http://nudtgk2000.iteye.com/blog/1716379 首先,在http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip下载log4j包 然后,在原工程里导入包 按照参考资 阅读全文
posted @ 2017-03-02 19:36 shulin15 阅读(1033) 评论(0) 推荐(0)
摘要:首先,参考http://www.cnblogs.com/itlqs/p/6104672.html和http://www.cnblogs.com/itlqs/p/6079301.html 然后,LocalSocketServer类继承Thread类 把单线程的实现代码 public static vo 阅读全文
posted @ 2017-03-02 14:53 shulin15 阅读(161) 评论(0) 推荐(0)
摘要:首先,导入下图所示库 然后,import org.apache.lucene.search.highlight.*; 下面,我们新建一个实现高亮显示功能的函数 最后,调用这个函数 这样就实现了title和abstract的高亮显示关键词 阅读全文
posted @ 2017-03-02 11:12 shulin15 阅读(1291) 评论(0) 推荐(1)
摘要:http://www.cnblogs.com/itlqs/p/6103779.html 阅读全文
posted @ 2017-03-01 20:48 shulin15 阅读(301) 评论(0) 推荐(0)