lucene等搜索引擎解析
收藏

lucene等搜索引擎解析

分享到: Sina Tec

最近更新文章

lucene-hits和评分

Hits方法 返回值 Length() Hits对象集合中所包含的文档数量 Doc(n) 排名第n的Document实例 Id(n) 排名第n的Document ID Score(n) 排名第n的标准分值,大于0,小于等于1 后三种方法需要在文档还没有放入缓存之前,将其从索引读 ...
deepfuture 评论(2) 有2055人浏览 2009-12-24 21:07

lucene-通过项进行搜索

对索引中的某个项进行搜索是最基本的搜索方式。每个项包括一个域名和一个文本值。 如果表达式是由单个单词构成的,QueryParser的parse()函数将返回一个TermQuery对象。 如: IndexSearcher searcher=new IndexSearcher(directory); Term t=new Term("isbn","2342343 ...
deepfuture 评论(0) 有1348人浏览 2009-12-24 21:06

lucene-RangeQuery范围内搜索

QueryParser可以使用[起始 TO 终止]表达式,[起始 TO 终止]表达式来构造RangeQuery对象。 private Term begin,end; begin=new Term("pubmonth","201001"); end=newTerm("pubmonth","201501"); Ran ...
deepfuture 评论(0) 有1906人浏览 2009-12-24 20:45

lucene-PrefixQuery通过字符串进行搜索

搜索以指定字符串开头的项的文档。 当查询表达式中的短语以"*"结尾时,QueryParser的parse函数会为查询表达式项创建一个PrefixQuery对象。 //查找编程方面的书,包括它的子类书 IndexSearcher searcher=new IndexSearcher(directory); Term term=newTerm("category&q ...
deepfuture 评论(0) 有1843人浏览 2009-12-24 20:44

lucene-booleanquery组合查询

当parse函数中指定多个项时,QueryParser能很方便地构建BooleanQuery对象。使用圆括号分组,通过指定的-、+、AND、OR以及NOT这些操作符。 允许进行逻辑的AND、OR或NOT组合,通过BooleanQuery的add方法将一个查询子句增加到某个BooleanQuery对象中: public void add(Query query,boolean required ...
deepfuture 评论(0) 有3067人浏览 2009-12-24 20:43

lucene-PhraseQuery通过短语查询

通过查找域中的项都相隔一定的距离。两个项的位置最大相隔距离为slop。距离是指项要按顺序组成给定的短语,所需要移动位置的次数,不是指间距。 public class PhraseQueryTest extends TestCase{ privateIndexSearcher searcher; protectedvoid setUp() throws IOException{ RAMDi ...
deepfuture 评论(0) 有3323人浏览 2009-12-24 20:35

lucene-wildcardQuery

使用通配符查询,*代表0个或多个字母,?代表0个或1个字母。 Query query=new WildcardQuery(new Term("contents","?ild*")); Hits hits=searcher.search(query); 使用QueryParser和wildcardQuery使用的是相同的语法。但使用QueryParse ...
deepfuture 评论(0) 有1980人浏览 2009-12-24 20:34

lucene-QueryParser域的选择和指定范围内搜索

一、域的选择 1、可使用title:xyz的查询表达式搜索title域 2、可用(a b c)表示a、b、c域 二、指定范围内搜索 1、包括边界,范围域名为pubmonth,默认域为subject。 Query query=QueryParser.parse("pubmonth:[200401 TO2005-03]","subject",anal ...
deepfuture 评论(0) 有2170人浏览 2009-12-24 20:33

lucene-FuzzyQuery模糊查询

1、查询用于匹配与指定项相似的项,levenshtein距离算法用来决定索引文件中的项与指定目标项的相似程度。即编辑距离算法,两个字符串之间相似度的一个度量方法。插入、删除和替换的字符个数 2、 IndexSearcher searcher=nwe IndexSearcher(directory); Query query=new FuzzyQuery(new Term("con ...
deepfuture 评论(2) 有5786人浏览 2009-12-24 20:33

lucene-查询表达式加权

1。使用^号后的符点型数据可以为^号之前的查询设置加权因子。 2。"junit^2.0 testing"可以将junit的TermQuery对象的加权因子设置为2.0
deepfuture 评论(0) 有2057人浏览 2009-12-24 20:32

java-分析器解析

1、语汇单元的组成: 1)经过分析产生的基本单元。在索引时,Lucene使用特定的分析器来处理需要被语汇单元化的指定域,并将每个语汇单元以项的形式写入索引。 2)起点偏移量是指语汇单元文本的起始字符在原广西中的位置,而终点的偏移量则表示语汇单元终止字符的下一个位置。 3)文本被语汇单元化后,相对于前一语汇单元的位置信息被保存为位置增量值。所有的内置语汇单元将位置增量的默认值设置为1,表示所 ...
deepfuture 评论(0) 有1539人浏览 2009-12-24 20:31

lucene-处理关键词域

使用Field.Keyword对关键词进行索引是很容易的,因为lucene本身就将它做为增加到域中的一个独立的语汇单元,所以它并不需要经过语汇单元的切分处理,Lucene会把它做为一个单独的项编入到索引中。 每个域的关键词性质只有在索引期间才能体现。一旦这个域被索引完后,就跟与其它的域没有区别了
deepfuture 评论(0) 有1368人浏览 2009-12-24 20:30

java-lucene中几个主要可用的分析器

这些分析器几乎可以用于分析所有的西方语言。 1、WhitespaceAnalyzer:在空格处进行语汇单元的切分 2、SimpleAnalyzer:在非字母字符处切分文本,并将其转换为小写形式 3、StopAnalyzer:在非字母字符处切分文本,然后小写化,再移除信用词 4、StandardAnalyzer:基于复杂的语法来实现语汇单元化;这些语法规则可以识别e-mail地址、首字母缩 ...
deepfuture 评论(0) 有1572人浏览 2009-12-24 20:30

lucene-使用特定方式分析一个域

可以通过PerFieldAnalyzerWrapper增加一个自定义的分析器用于特定域的分析 public void testPerFieldAnalyzer() throws Exception{ PerFieldAnalyzerWrapper analyzer=newPerFieldAnalyzerWrapper(new SimpleAnalyzer()); Queryquery=Qu ...
deepfuture 评论(0) 有1486人浏览 2009-12-24 19:57

lucene-近音词查询

分析器通过Metaphone算法实现近音词查询,也可采用类似于Soundex的其它可行的算法 public void testKoolKat() throws Exceptoin{ RAMDirectory directory=new RAMDirectory(); Analyzer analyzer=new MetaphoneReplacementAnalyzer();   Inde ...
deepfuture 评论(0) 有2026人浏览 2009-12-24 19:53

lucene-同义词分析器

这个分析器用SynonymFilter过滤器对StandardAnalyzer类进行封装,当向这个过滤器输入各个项时,会对这些项进行缓冲,并使用栈存储这些项的同义词 public class Sy ...
deepfuture 评论(1) 有3885人浏览 2009-12-24 19:48

lucene-语汇单元的位置分析

以下程序显示出了语汇单元的位置, Token[] tokens=tokensFromAnalysis(analyzer,text); int position =0; for (int i=0;i<tokens.length;i++){ Token token=tokens[i];   intincrement=token.getPositionIncrement();//得到 ...
deepfuture 评论(0) 有1793人浏览 2009-12-24 19:47

lucene-词干分析与保留空位和停用词

1、分析器可以剔除所有停用词,并将这些词本来所处的位置留空,还可以对词干过滤器进行选择 2、移除停用词 public class PositionStopFilter extends TokenFilter{ private Set stopWords; publicPositioinStopFilter(TokenSteam in,Set stpWords){ super(in); ...
deepfuture 评论(0) 有2456人浏览 2009-12-24 19:43

lucene-亚洲语种和unicode字符分析

1、unicode字符 在lucene内部,所有的字符都是以标准UTF-8编码的,JAVA会在字符串对象内对Unicode编码进行自动处理,从而把我们从这个繁琐的处理任务中 ...
deepfuture 评论(0) 有1803人浏览 2009-12-24 19:39

lucene-Nutch分析

分析:Nutch在索引时进行分析所使用的二元语法技术与查询过程中对短语的优化技术结合在一起。 public class NutchExample{ public static void main(String[] args) throws IOException{ NutchDocumentAnalyze analyer=new NutchDocumentAnalyzer(); disp ...
deepfuture 评论(0) 有1559人浏览 2009-12-24 19:35
  • 专栏创建者:deepfuture
  • 创建时间:2012-02-12 11:45:46
  • 专栏文章数:100篇
  • 专栏被浏览:285771 次

本专栏热门文章

最新评论

写的很好~
di1984HIT 评论了 lucene入门-索引网页
你好!我运行你的这个程序出现了问题,麻烦帮下忙!我的QQ:1422461141,谢谢了!
u013328887 评论了 搜索引擎开发lucene-笔者博客的大部分luce ...
解压密码:http://deepfuture.javaeye.com/
deepfuture 评论了 搜索引擎开发lucene-笔者博客的大部分luce ...
解压密码在哪,怎么没找到。谢谢了
jiaqian0118 评论了 搜索引擎开发lucene-笔者博客的大部分luce ...
内存索引写入硬盘文件索引的结果放到硬盘中,这样重启电脑后,仍然可以调取
deepfuture 评论了 lucene-内存索引、内存索引保存在硬盘、索 ...
博主,您好,请问下内存索引的原理是什么呢,大致是什么意思呢?文件的操作不都是在内存的嘛?
w156445045 评论了 lucene-内存索引、内存索引保存在硬盘、索 ...
能不能给一个比较完整的例子
zr19851213 评论了 lucene-同义词分析器
为什么我的英文也不支持?
cf2huihui 评论了 lucene-FuzzyQuery模糊查询
还行啊,做个记号
di1984HIT 评论了 lucene-多Field搜索与多索引搜索
QueryParser通过在某个项增加"~"后缀实现模糊查询 貌似这个有效果,但 ...
alfusen_xiong 评论了 lucene-FuzzyQuery模糊查询
Global site tag (gtag.js) - Google Analytics