存档

文章标签 ‘lucene’

lucene3创建Html索引时候报Parse Aborted错的解决方法

2010年4月29日 1 条评论 4,755 次阅读

问题描述: 用Lucene自带的htmlindex Demo在建索引时,会报错: Parse Aborted: Lexical error at line 63, column 16.   Encountered: "\u987b" (39035), after : "" 究其原因是由于某html文档里的某标签内出现Unicode编码的字符,如出现中文,而导致的。 问题解决: 只要修改HtmlParser...阅读全文

分类: java 标签:

lucene3相关文章搜索的实现

2010年4月27日 没有评论 2,626 次阅读

TermVector是Lucene 1.4新增的,TermVector保存Token.getPositionIncrement() 和Token.startOffset() 以及Token.endOffset() 信息. 各种参数说明: Field.TermVector.NO:不保存term vectors Field.TermVector.YES:保存term vectors Field.TermVector.WITH_POSITIONS:保存term vectors.(保存值和token位置信息) Field.TermV...阅读全文

分类: java 标签:

Lucene 查询的保留字和关键字及替换方法

2010年4月26日 没有评论 2,860 次阅读

 Lucene 查询的保留字和关键字有: + – &| ! ( ) { } [ ] ^ ~ * ? : \ 还有 AND OR NOT 这些关键字,在查询之前要进行替换或过滤 在java中使用下面的方法可以全部替换Lucene 查询的保留字和关键字: String str="www.wenhq.com \"[亲亲宝宝]+ – &| ! ( ) { } [ ] ^ ~ * ? :\\"; s...阅读全文

分类: java 标签: ,

lucene3.0中使用MultiFieldQueryParser多字段查找

2010年3月16日 没有评论 11,362 次阅读

使用Lucene做全文检索,一般我们经常会在多个字段(域)中查找,而不一定关心在那个字段中包含需要查找的值.比如在搜索框中输入:亲亲宝宝 软件开发,只要标题、内容、作者等包含“亲亲宝宝 软件开发”都是我们要查找的结果。Lucene中MultiFieldQueryParser正好给我们提供多字段查找带来方便. MultiFieldQueryParser...阅读全文

分类: java 标签:

lucene3短语查找PhraseQuery

2010年1月15日 没有评论 4,298 次阅读

用户在搜索引擎中进行搜索时,常常查找的并非是一个简单的单词,很有可能是几个不同的关键字。这些关键字之间要么是紧密相联,成为一个精确的短语,要么是可能在这几个关键字之间还插有其他无关的关键字。此时,用户希望将它们找出来。不过很显然,从评分的角度看,这些关键字之间拥有与查找内容无关短语所在的文档的分值...阅读全文

分类: java 标签: ,

lucene3.0范围查找TermRangeQuery

2010年1月8日 没有评论 6,692 次阅读

在lucene3.0中,范围查询也有很大的变化,RangeQuery已经不推荐使用,使用TermRangeQuery和NumericRangeQuery两个替代。 TermRangeQuery:主要用于文本范围查找; IndexReader reader = IndexReader        .open(FSDirectory.open(INDEX_DIR), true); // only searching, Searcher search...阅读全文

分类: java 标签: ,

lucene3.0中两个索引文件的联合查询

2009年12月29日 没有评论 4,418 次阅读

由于lucene生成索引文件比较耗时,索引我们可以把经常变动的和不变化的防到两个索引文件中,查询时使用联合查询,可以在两个索引中同时查找. IndexSearcher[] searchers = new IndexSearcher[2];  searchers[0] = new IndexSearcher(m_indexpath); searchers[1] = new IndexSearcher(m_outindexpath); MultiSearcher...阅读全文

分类: java 标签: ,

lucene删除索引中的数据

2009年12月18日 没有评论 3,387 次阅读

Lucene本身并不支持更新, 所以只能选择先删除再新增记录。 lucene本身支持两种删除模式 1,DeleteDocument(int docNum) //指定文档标号自动删除 2,DeleteDocuments(Term term) //删除所有出现该term的文档 前者是根据文档的编号来删除该文档,docNum是该文档进入索引时Lucene的编号,是按照顺序编的;后者是删除满足某一个...阅读全文

分类: java 标签: ,

lucene3.0 中BooleanQuery 的使用

2009年12月18日 没有评论 5,475 次阅读

lucene3.0中BooleanQuery 实现与或的复合搜索 . BooleanClause用于表示布尔查询子句关系的类,包括:BooleanClause.Occur.MUST,BooleanClause.Occur.MUST_NOT,BooleanClause.Occur.SHOULD。必须包含,不能包含,可以包含三种.有以下6种组合:    1.MUST和MUST:取得连个查询子句的交集。  2.MUST和MUST...阅读全文

分类: java 标签: ,

lucene3.0分词结果显示

2009年12月17日 没有评论 4,919 次阅读

lucene3.0升级后,以前的显示分词结果的语句完全不能用了,我们选择分词器又是必须的,到底我们的关键词分词后是怎么显示的呢,具体代码如下:     public class AnalyzerTest {          public static void main(String[] args)&...阅读全文

分类: java 标签: ,