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
ASlopQueryNode
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 Description SlopQueryNode(QueryNode query, int value)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QueryNode
cloneTree()
Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() methodQueryNode
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 parserString
toString()
Every implementation of this class should return pseudo xml like this:-
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 phrasevalue
- - 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 interfaceQueryNode
- Overrides:
toString
in classQueryNodeImpl
- 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 interfaceQueryNode
-
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 interfaceQueryNode
- Overrides:
cloneTree
in classQueryNodeImpl
- 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 interfaceFieldableNode
- 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 interfaceFieldableNode
- Parameters:
fieldName
- the field name
-
-