org.apache.jackrabbit.core.query.lucene
Class WildcardQuery

java.lang.Object
  extended by org.apache.lucene.search.Query
      extended by org.apache.jackrabbit.core.query.lucene.WildcardQuery
All Implemented Interfaces:
Serializable, Cloneable, Transformable, TransformConstants

public class WildcardQuery
extends org.apache.lucene.search.Query
implements Transformable

Implements a wildcard query on a lucene field with an embedded property name and a pattern.

Wildcards are:

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.apache.jackrabbit.core.query.lucene.TransformConstants
TRANSFORM_LOWER_CASE, TRANSFORM_NONE, TRANSFORM_UPPER_CASE
 
Constructor Summary
WildcardQuery(String field, String propName, String pattern)
          Creates a new WildcardQuery.
WildcardQuery(String field, String propName, String pattern, int transform)
          Creates a new WildcardQuery.
 
Method Summary
protected  org.apache.lucene.search.Weight createWeight(org.apache.lucene.search.Searcher searcher)
          Creates the Weight for this query.
 void extractTerms(Set terms)
          
 org.apache.lucene.search.Query rewrite(org.apache.lucene.index.IndexReader reader)
          Either rewrites this query to a lucene MultiTermQuery or in case of a TooManyClauses exception to a custom jackrabbit query implementation that uses a BitSet to collect all hits.
 void setTransformation(int transformation)
          Sets the transformation.
 String toString(String field)
          Returns a string representation of this query.
 
Methods inherited from class org.apache.lucene.search.Query
clone, combine, getBoost, getSimilarity, mergeBooleanQueries, setBoost, toString, weight
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WildcardQuery

public WildcardQuery(String field,
                     String propName,
                     String pattern,
                     int transform)
Creates a new WildcardQuery.

Parameters:
field - the name of the field to search.
propName - name of the property to search.
pattern - the wildcard pattern.
transform - how property values are transformed before they are matched using the pattern.

WildcardQuery

public WildcardQuery(String field,
                     String propName,
                     String pattern)
Creates a new WildcardQuery.

Parameters:
field - the name of the field to search.
propName - name of the property to search.
pattern - the wildcard pattern.
Method Detail

setTransformation

public void setTransformation(int transformation)
Sets the transformation. Must be one of the following values:

Specified by:
setTransformation in interface Transformable
Parameters:
transformation - a transform constant.

rewrite

public org.apache.lucene.search.Query rewrite(org.apache.lucene.index.IndexReader reader)
                                       throws IOException
Either rewrites this query to a lucene MultiTermQuery or in case of a TooManyClauses exception to a custom jackrabbit query implementation that uses a BitSet to collect all hits.

Overrides:
rewrite in class org.apache.lucene.search.Query
Parameters:
reader - the index reader to use for the search.
Returns:
the rewritten query.
Throws:
IOException - if an error occurs while reading from the index.

createWeight

protected org.apache.lucene.search.Weight createWeight(org.apache.lucene.search.Searcher searcher)
Creates the Weight for this query.

Overrides:
createWeight in class org.apache.lucene.search.Query
Parameters:
searcher - the searcher to use for the Weight.
Returns:
the Weigth for this query.

toString

public String toString(String field)
Returns a string representation of this query.

Specified by:
toString in class org.apache.lucene.search.Query
Parameters:
field - the field name for which to create a string representation.
Returns:
a string representation of this query.

extractTerms

public void extractTerms(Set terms)

Overrides:
extractTerms in class org.apache.lucene.search.Query


Copyright © 2004-2009 The Apache Software Foundation. All Rights Reserved.