汇聚点滴,成就美好  
汇聚点滴,成就美好
公告
日历
统计
  • 随笔 - 17
  • 文章 - 4
  • 评论 - 5
  • 引用 - 0

导航

 

2009年2月25日

搜索解析的主要对象是:QueryParser

调用方式如下:

QueryParser queryparser=new QueryParser(字段名,分词器);

Query query=queryparser.parse(关键字)

其中QueryParser  拥有一个方法,可设置关键字分词后的各词组搜索出来的结果的组合方式

即:setDefaultOperator(参数)

其参数为:

QueryParser .Operator.AND  与的关系,同时满足。

QueryParser.Operator.OR     或的关系,可以满足。

posted @ 2009-02-25 22:17 极地雪狼 阅读(149) 评论(1) 编辑
 
-

6、多短语搜索(先指定一个前缀关键字,然后讲其他的关键字加在此关键字之后,组成词语进行搜索)

     主要对象是:MultiPhraseQuery

     调用方式如下:

Code

 

7、模糊搜索(顾名思义)

     主要对象是:FuzzyQuery

     调用方式如下:

 

Code

此中的参数是表示模糊度,是小于1的浮点小数,比如0.5f

8、通配符搜索(顾名思义)

     主要对象是:WildcardQuery

     调用方式如下: 

Code

 

其中的通配符分两种,即*和?

* 表示任意多的自负

?表示任意一个字符

 

9、正则表达式搜索(顾名思义)

     主要对象是:RegexQuery

     调用方式如下: 

 

Code

 

Lucene 搜索种类很多。这里就介绍几个最常用的。其中TermQuery\BooleanQuery\RegexQuery功能最强大,最为常用。

posted @ 2009-02-25 22:00 极地雪狼 阅读(322) 评论(0) 编辑
 

Lucene有多种搜索方式,可以根据需要选择不同的方式。

1、词条搜索(单个关键字查找)

     主要对象是TermQuery

     调用方式如下:

Code

 

2、组合搜索(允许多个关键字组合搜索)

     主要对象是BooleanQuery

     调用方式如下:

 

Code

此方法中的核心在BooleanQuery的add方法上,其第二个参数有三个可选值,对应着逻辑上的与或非关系

参数如下:

BooleanClause.Occur.MUST                必须包含,类似于逻辑运算的与

BooleanClause.Occur.MUST _NOT       必须不包含,类似于逻辑运算的非

BooleanClause.Occur.SHOULD           可以包含,类似于逻辑运算的或

这三者组合,妙用无穷。

 

3、范围搜索(允许搜索指定范围内的关键字结果)

     主要对象是RangeQuery

     调用方式如下: 

Code

此方法中的参数是Boolean类型的,表示是否包含边界 。

true 包含边界

false不包含边界


 

4、前缀搜索(搜索起始位置符合要求的结果)

     主要对象是PrefixQuery

     调用方式如下:

Code

 

5、短语搜索(根据零碎的短语组合成新的词组进行搜索)

     主要对象是PhraseQuery

     调用方式如下:

Code

其中setSlop的参数是设置两个关键字之间允许间隔的最大值。

未完,待续。。。

 

 

posted @ 2009-02-25 00:28 极地雪狼 阅读(261) 评论(0) 编辑
 
Copyright © 极地雪狼 Powered by: 博客园 模板提供:沪江博客