一.Lucene.Net介绍 Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎.开发人员可以基于Lucene.net实现全文检索的功能. Lucene.net是Apache软件基金会赞助的开源项目,基于Apache License协议. Lucene.net并不是一个爬行搜索引擎,也不会自动地索引内容.我们得先将要索引的文档中的文本抽取出来,然后再将其加到Lucene.…
内存索引库 特点 在内存中开辟一块空间,专门为索引库存放.这样有以下几个特征: 1)    因为索引库在内存中,所以访问速度更快. 2)    在程序退出时,索引库中的文件也相应的消失了. 3)    如果索引库比较大,必须得保证足够多的内存空间. 编码 在cn.hqu.directory 下新建:DirectoryTest /** * 1.能不能设置很多个索引库 *    可以设置很多个索引库 * 2.索引库能不能合并起来 *    如果是内存索引库 *      Directory ramD…
1.    排序 1.1. Sort类 public Sort() public Sort(String field) public Sort(String field,Boolean reverse)  //默认为false,降序排序 public Sort(String[] fields) public Sort(SortField field) public Sort(SortField[] fields) Sort sort=new Sort(“bookname”);按照“booknam…
Lucene自带的中文分词器SmartChineseAnalyzer不太好扩展,于是我用了IKAnalyzer来进行敏感词和停用词的过滤. 首先,下载IKAnalyzer,我下载了 然后,由于IKAnalyzer已经很久不更新了,不兼容现在的Lucene6版本,所以我参考网上的资料,重写了IKTokenizer和IKAnalyzer两个类. package kidsearch; import java.io.IOException; import java.io.Reader; import o…
1 Lucene简介 Lucene是apache下的一个开源的全文检索引擎工具包. 1.1 全文检索(Full-text Search)  1.1.1 定义 全文检索就是先分词创建索引,再执行搜索的过程. 分词:就是将一段文字分成一个个单词 全文检索就将一段文字分成一个个单词去查询数据!!! 1.1.2 应用场景 1.1.2.1 搜索引擎(了解) 搜索引擎是一个基于全文检索.能独立运行.提供搜索服务的软件系统. 1.1.2.2 电商站内搜索(重点) 思考:电商网站内,我们都是通过输入关键词来搜索…
Lucene 6.0使用IK分词器需要修改修改IKAnalyzer和IKTokenizer. 使用时先新建一个MyIKTokenizer类,一个MyIkAnalyzer类: MyIKTokenizer.java import java.io.IOException; import java.io.Reader; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.tokenattribute…
1 什么是中文分词器 学过英文的都知道,英文是以单词为单位的,单词与单词之间以空格或者逗号句号隔开. 而中文的语义比较特殊,很难像英文那样,一个汉字一个汉字来划分. 所以需要一个能自动识别中文语义的分词器. 2. Lucene自带的中文分词器 StandardAnalyzer 单字分词:就是按照中文一个字一个字地进行分词.如:“我爱中国”, 效果:“我”.“爱”.“中”.“国”. CJKAnalyzer 二分法分词:按两个字进行切分.如:“我是中国人”,效果:“我是”.“是中”.“中国”“国人”…
Lucene-分词器API org.apache.lucene.analysi.Analyzer 分析器,分词器组件的核心API,它的职责:构建真正对文本进行分词处理的TokenStream(分词处理器).通过调用它的如下两个方法,得到输入文本的分词处理器. public final TokenStream tokenStream(String fieldName, Reader reader) public final TokenStream tokenStream(String fieldN…
一.Lucene提供的分词器StandardAnalyzer和SmartChineseAnalyzer 1.新建一个测试Lucene提供的分词器的maven项目LuceneAnalyzer 2. 在pom.xml里面引入如下依赖 <!-- lucene 核心模块 --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId&…
一.Lucene分词器详解 1. Lucene-分词器API (1)org.apache.lucene.analysi.Analyzer 分析器,分词器组件的核心API,它的职责:构建真正对文本进行分词处理的TokenStream(分词处理器).通过调用它的如下两个方法,得到输入文本的分词处理器. public final TokenStream tokenStream(String fieldName, Reader reader) public final TokenStream token…