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);