## org.apache.lucene.queryparser.flexible.core.nodes
Class ProximityQueryNode

    java.lang.Object
      org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
          org.apache.lucene.queryparser.flexible.core.nodes.BooleanQueryNode
              org.apache.lucene.queryparser.flexible.core.nodes.ProximityQueryNode

All Implemented Interfaces:
  Cloneable, QueryNode

    public class ProximityQueryNode

extends BooleanQueryNode

A `ProximityQueryNode` represents a query where the terms should meet specific distance conditions. (a b c) WITHIN [SENTENCE|PARAGRAPH|NUMBER] [INORDER] ("a" "b" "c") WITHIN [SENTENCE|PARAGRAPH|NUMBER] [INORDER] TODO: Add this to the future standard Lucene parser/processor/builder

Nested Class Summary
`static class` `ProximityQueryNode.ProximityType` utility class containing the distance condition and number
`static class` `ProximityQueryNode.Type` Distance condition: PARAGRAPH, SENTENCE, or NUMBER

Field Summary

Fields inherited from class org.apache.lucene.queryparser.flexible.core.nodes.QueryNodeImpl
`PLAINTEXT_FIELD_NAME, toQueryStringIgnoreFields`

Constructor Summary
`ProximityQueryNode(List<QueryNode> clauses, CharSequence field, ProximityQueryNode.Type type, boolean inorder)`
`ProximityQueryNode(List<QueryNode> clauses, CharSequence field, ProximityQueryNode.Type type, int distance, boolean inorder)`

Method Summary
`QueryNode` `cloneTree()` Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method
`int` `getDistance()`
`CharSequence` `getField()` returns null if the field was not specified in the query string
`String` `getFieldAsString()` returns null if the field was not specified in the query string
`ProximityQueryNode.Type` `getProximityType()`
`boolean` `isInOrder()`
`void` `setField(CharSequence 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`

Constructor Detail

### ProximityQueryNode

    public ProximityQueryNode(List<QueryNode> clauses,
                              CharSequence field,
                              ProximityQueryNode.Type type,
                              int distance,
                              boolean inorder)

Parameters:
  `clauses` - - QueryNode children
  `field` - - field name
  `type` - - type of proximity query
  `distance` - - positive integer that specifies the distance
  `inorder` - - true, if the tokens should be matched in the order of the clauses

### ProximityQueryNode

    public ProximityQueryNode(List<QueryNode> clauses,
                              CharSequence field,
                              ProximityQueryNode.Type type,
                              boolean inorder)

Parameters:
  `clauses` - - QueryNode children
  `field` - - field name
  `type` - - type of proximity query
  `inorder` - - true, if the tokens should be matched in the order of the clauses

Method Detail

### getProximityType

    public ProximityQueryNode.Type getProximityType()

### 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 `BooleanQueryNode`
  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`
  Overrides:
    `toQueryString` in class `BooleanQueryNode`

### 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 `BooleanQueryNode`
  Returns:
    the cloned tree
  Throws:
    `CloneNotSupportedException`

### getDistance

    public int getDistance()

  Returns:
    the distance

### getField

    public CharSequence getField()

  returns null if the field was not specified in the query string

  Returns:
    the field

### getFieldAsString

    public String getFieldAsString()

  returns null if the field was not specified in the query string

  Returns:
    the field

### setField

    public void setField(CharSequence field)

  Parameters:
    `field` - the field to set

### isInOrder

    public boolean isInOrder()

  Returns:
    terms must be matched in the specified order

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