org.apache.lucene.queryparser.flexible.core.nodes

## Class SlopQueryNode

- java.lang.Object
- - org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
  - - org.apache.lucene.queryparser.flexible.core.nodes.SlopQueryNode

All Implemented Interfaces:
  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".

### Field Summary

### Fields inherited from class org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl

`PLAINTEXT_FIELD_NAME, toQueryStringIgnoreFields`

### Constructor Summary

Constructors
Constructor and Description
`SlopQueryNode(QueryNode query, int value)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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: <field start='1' end='2' field='subject' text='foo'/>

### Methods inherited from class org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl

`add, add, allocate, clone, containsTag, getChildren, getParent, getTag, getTagMap, isDefaultField, isLeaf, isRoot, removeChildren, removeFromParent, set, setLeaf, setTag, 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.flexible.core.nodes.QueryNode

`add, add, containsTag, getChildren, getParent, getTag, getTagMap, isLeaf, removeChildren, removeFromParent, set, setTag, 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: <field start='1' end='2' field='subject' text='foo'/>

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