
lucene
文章平均质量分 59
如锡如璧
这个作者很懒,什么都没留下…
展开
-
Lucene学习之高亮显示
在搜索引擎中我们经常会看到这样的情景: 红色部分我们称之为高亮显示,lucene提供了HighLighter模块来实现这一功能。 高亮显示模块通常包含两个独立的功能,首先是动态拆分,就是从匹配搜索的大量文本中选取一小部分句子。第二个内容就是高亮显示。 我们先来看下高亮显示的原理: 一、TokenSources:IndexReader reader = DirectoryReader.op原创 2015-05-19 19:26:17 · 3959 阅读 · 0 评论 -
Lucene学习之拼写检查
在搜索引擎中,我们往往会遇见下面的情景 这其实就是拼写检查的应用,lucene的suggest模块就是为此而设的。 首先需要的是一个有效的拼写检查的源词典。private static String dicpath = "G:\\downloads\\LJParser_release\\dictionary.dic";//初始化字典目录 //最后一个fullMerge参数表示拼写检查索引是原创 2015-05-19 18:54:54 · 973 阅读 · 0 评论 -
lucene5.0建立索引并进行查找
说白了就是两个函数一个建立索引(写),另一个来查找(读),所以涉及到java IO的一些知识。import java.io.*; import java.nio.file.Paths;import java.util.Date; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.s原创 2015-04-22 16:23:09 · 2586 阅读 · 0 评论 -
lucene的近实时查询
近实时:2.9以前的版本,如果索引更新,那么搜索必须在writer的commit提交之后才能重新打开,近实时可以使得快速搜索索引的变更内容,而不必首先关闭writer或向writer提交import java.nio.file.Paths;import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apac原创 2015-04-29 21:41:10 · 462 阅读 · 0 评论 -
lucene学习之多样化查询
lucend的多样化查询主要是通过一些内置的QUERY类型来实现:TermQuery:进行项搜索 Term t = new Term("filename","4167"); Query query = new TermQuery(t); TopDocs docs = searcher.search(query, 100); System.out.println("一共搜原创 2015-04-29 22:02:06 · 546 阅读 · 0 评论 -
lucene学习之创建自定义排序
Lucene提供了一套强大的API来帮助我们实现自定义排序,本节我们使用一个距离搜索的例子来阐述: 其实核心是换一个comparator就成,而这个排序器用在哪里呢,如下所示:package custom;import java.io.IOException;import org.apache.lucene.search.FieldComparator;import org.a原创 2015-05-06 18:25:05 · 1256 阅读 · 0 评论 -
lucene学习之分析过程(自定义近义词分析器)
影响分析器选择的一个原因是语种另一个原因是被分析的文本所属的域import java.io.*;public interface SynonymEngine { String[] getSynonyms(String s) throws IOException;}import java.util.*;public class TestSynonymEngine impl原创 2015-04-29 22:13:11 · 995 阅读 · 0 评论 -
lucene学习之针对多索引的搜索
在实际应用中,很多应用程序保持多个分离的Lucene索引,但有需要在搜索过程中能够将结果合并输出,比如新闻网站每天都会建立不同索引,但是搜索一个月的新闻时就需要合并输出结果。这时可以使用如下方式:mreader = new MultiReader(readera,readern); searcher = new IndexSearcher(mreader);//4.0以后的Multi原创 2015-05-04 14:51:10 · 652 阅读 · 0 评论 -
Lucene学习之Facet
Facet简单来说就是点击某个品牌或者网络,获取更细分的结果。也就是站在不同的方面去搜索会得到不同的结果,其主要API支持,我们通过一段代码来看import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.lucene.analysis.core.WhitespaceA原创 2015-05-08 15:32:04 · 1152 阅读 · 0 评论 -
lucene学习之中文文本分析
在lucenne内部,所有的字符都是以标准的UTF-8编码存储的。lucene的standardAnalyzer分析器将一定范围内的Unicode编码识别为CJK(亚洲语种)字符,并将其拆分为独立单元。下面用不同的分析器来分析同一中文字符串:import java.awt.*;import java.io.*;import org.apache.lucene.analysis.*;i原创 2015-04-30 20:31:07 · 571 阅读 · 0 评论