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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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, 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, 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

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.