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
ASlopQueryNoderepresents 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 QueryNodecloneTree()Recursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() methodQueryNodegetChild()CharSequencegetField()Returns the field associated to the node and every node under it.intgetValue()voidsetField(CharSequence fieldName)Associates the node to a field.CharSequencetoQueryString(EscapeQuerySyntax escapeSyntaxParser)convert to a query string understood by the query parserStringtoString()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:QueryNodeImplEvery implementation of this class should return pseudo xml like this:For FieldQueryNode: <field start='1' end='2' field='subject' text='foo'/>
- Specified by:
toStringin interfaceQueryNode- Overrides:
toStringin classQueryNodeImpl- See Also:
QueryNode.toString()
-
toQueryString
public CharSequence toQueryString(EscapeQuerySyntax escapeSyntaxParser)
Description copied from interface:QueryNodeconvert to a query string understood by the query parser- Specified by:
toQueryStringin interfaceQueryNode
-
cloneTree
public QueryNode cloneTree() throws CloneNotSupportedException
Description copied from interface:QueryNodeRecursive clone the QueryNode tree The tags are not copied to the new tree when you call the cloneTree() method- Specified by:
cloneTreein interfaceQueryNode- Overrides:
cloneTreein classQueryNodeImpl- Returns:
- the cloned tree
- Throws:
CloneNotSupportedException
-
getField
public CharSequence getField()
Description copied from interface:FieldableNodeReturns the field associated to the node and every node under it.- Specified by:
getFieldin interfaceFieldableNode- Returns:
- the field name
-
setField
public void setField(CharSequence fieldName)
Description copied from interface:FieldableNodeAssociates the node to a field.- Specified by:
setFieldin interfaceFieldableNode- Parameters:
fieldName- the field name
-
-