lucene当中的各种query(三)

MultiTermQuery包含以下query:

FuzzyQuery, NumericRangeQuery, PrefixQuery, TermRangeQuery, WildcardQuery

FuzzyQuery是一种模糊查询,它可以简单地识别两个相近的词语。 即相似度匹配

NumericRangeQuery数字形式的范围查询

PrefixQuery前缀搜索A Query that matches documents containing terms with a specified prefix. A PrefixQuery is built by QueryParser for input like app*.

TermRangeQuery:主要用于文本范围查找;

使用通配符查询,*代表0个或多个字母,?代表0个或1个字母。

Query query=new WildcardQuery(new Term("contents","?ild*"));

Hits hits=searcher.search(query);

使用QueryParser和wildcardQuery使用的是相同的语法。但使用QueryParser时,首个字母不能是通配符

 


SpanQuery按照词在文章中的距离或者查询几个相邻词的查询

SpanQuery包括以下几种:

SpanTermQuery:词距查询的基础,结果和TermQuery相似,只不过是增加了查询结果中单词的距离信息。

SpanFirstQuery:在指定距离可以找到第一个单词的查询。

SpanNearQuery:查询的几个语句之间保持者一定的距离。

SpanOrQuery:同时查询几个词句查询。

SpanNotQuery:从一个词距查询结果中,去除一个词距查询。

 

 

ConstantScoreQuery

A query that wraps a filter and simply returns a constant score equal to the query boost for every document in the filter

看了一下这个类的构造函数ConstantScoreQuery(Filter filter) ,我的理解就是通过构造filter来完成文档的过滤,并且返回一个复合当前过滤条件的文档的常量分数,这个分数等于为查询条件设置的boost

 

CustomScoreQuery

org.apache.lucene.search.function Class CustomScoreQuery

WARNING: The status of the search.function package is experimental. The APIs introduced here might change in the future and will not be supported anymore in such a case.

根据api的说明,本query暂时不了解

 

ConstantScoreQuery

A query that wraps a filter and simply returns a constant score equal to the query boost for every document in the filter

看了一下这个类的构造函数ConstantScoreQuery(Filter filter) ,我的理解就是通过构造filter来完成文档的过滤,并且返回一个复合当前过滤条件的文档的常量分数,这个分数等于为查询条件设置的boost

 

CustomScoreQuery

org.apache.lucene.search.function Class CustomScoreQuery

WARNING: The status of the search.function package is experimental. The APIs introduced here might change in the future and will not be supported anymore in such a case.

根据api的说明,本query暂时不了解


ValueSourceQuery以及其子类FieldScoreQuery
这两个类也是位于org.apache.lucene.search.function下,所以暂时不了解

你可能感兴趣的:(apache,Lucene)