org.apache.lucene.queryParser.core.nodes
Class SlopQueryNode

java.lang.Object
  extended by org.apache.lucene.queryParser.core.nodes.QueryNodeImpl
      extended by org.apache.lucene.queryParser.core.nodes.SlopQueryNode
All Implemented Interfaces:
Serializable, Cloneable, FieldableNode, QueryNode

public class SlopQueryNode
extends QueryNodeImpl
implements FieldableNode

A SlopQueryNode represents phrase query with a slop. From Lucene FAQ: Is there a way to use a proximity operator (like near or within) with Lucene? There is a variable called slop that allows you to perform NEAR/WITHIN-like queries. By default, slop is set to 0 so that only exact phrases will match. When using TextParser you can use this syntax to specify the slop: "doug cutting"~2 will find documents that contain "doug cutting" as well as ones that contain "cutting doug".

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.lucene.queryParser.core.nodes.QueryNodeImpl
PLAINTEXT_FIELD_NAME, toQueryStringIgnoreFields
 
Constructor Summary
SlopQueryNode(QueryNode query, int value)
           
 
Method Summary
 QueryNode cloneTree()
          Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method
 QueryNode getChild()
           
 CharSequence getField()
          Returns the field associated to the node and every node under it.
 int getValue()
           
 void setField(CharSequence fieldName)
          Associates the node to a field.
 CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser)
          convert to a query string understood by the query parser
 String toString()
          Every implementation of this class should return pseudo xml like this: For FieldQueryNode:
 
Methods inherited from class org.apache.lucene.queryParser.core.nodes.QueryNodeImpl
add, add, allocate, clone, containsTag, containsTag, getChildren, getParent, getTag, getTag, getTagMap, getTags, isDefaultField, isLeaf, isRoot, set, setLeaf, setTag, setTag, unsetTag, unsetTag
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.lucene.queryParser.core.nodes.QueryNode
add, add, containsTag, containsTag, getChildren, getParent, getTag, getTag, getTagMap, getTags, isLeaf, set, setTag, setTag, unsetTag, unsetTag
 

Constructor Detail

SlopQueryNode

public SlopQueryNode(QueryNode query,
                     int value)
Parameters:
query - - QueryNode Tree with the phrase
value - - slop value
Method Detail

getChild

public QueryNode getChild()

getValue

public int getValue()

toString

public String toString()
Description copied from class: QueryNodeImpl
Every implementation of this class should return pseudo xml like this: For FieldQueryNode:

Specified by:
toString in interface QueryNode
Overrides:
toString in class QueryNodeImpl
See Also:
QueryNode.toString()

toQueryString

public CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser)
Description copied from interface: QueryNode
convert to a query string understood by the query parser

Specified by:
toQueryString in interface QueryNode

cloneTree

public QueryNode cloneTree()
                    throws CloneNotSupportedException
Description copied from interface: QueryNode
Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method

Specified by:
cloneTree in interface QueryNode
Overrides:
cloneTree in class QueryNodeImpl
Returns:
the cloned tree
Throws:
CloneNotSupportedException

getField

public CharSequence getField()
Description copied from interface: FieldableNode
Returns the field associated to the node and every node under it.

Specified by:
getField in interface FieldableNode
Returns:
the field name

setField

public void setField(CharSequence fieldName)
Description copied from interface: FieldableNode
Associates the node to a field.

Specified by:
setField in interface FieldableNode
Parameters:
fieldName - the field name