lucene-SpanQuery精解和与正则RegexQuery精解

阅读更多

1、SpanTermQuery:与TermQuery一样。

Term t=new Term("contenct","david");

SpanTermQuery query=new SpanTermQuery(t);

2、SpanFirstQuery:从first的内容起始位置开始,在一个固定的宽度内查找所指定的词条。

Term t=new Term("content","mary");

SpanTermQuery people=new SpanTermQuery(t);

SpanFirstQuery query=new SpanFirtstQuery(people,3);//3是宽度

3、SpanNearQuery:可以查找具有一定无关单词长度的短语,也可将另一个SpanQuery的查询结构作为整体进行考虑。

Term t1=new Term("content","Mary");

Term t2=new Term("content","poor");

SpanTermQuery people=new SpanTermQuery(t1);

SpanTermQuery how=new SpanTermQuery(t2);

SpanNearQuery query=new SpanNearQuery(new SpanQuery[]{people,how},3,false);//3是跨度,第三个参数表示每个词是否一定要顺序出现在文档中

4、SpanorQuery:把所有SpanQuery的结果综合起来,作为它的检索结果。

5、SpanNotQuery:从第一个SpanQuery的查询结果中,去掉第2个SpanQuery的查询结果。

6、RegexQuery:使用正则表达式

String regex="ttp://[a-z][1,3]\.abc\.com/.*";

Term t=new Term("url",regex);

RegexQuery query=new RegexQuery(t);

你可能感兴趣的:(lucene,正则表达式)