pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.5.0 / lucene / src / java / org / apache / lucene / analysis / tokenattributes / PositionIncrementAttribute.java
1 package org.apache.lucene.analysis.tokenattributes;
2
3 /**
4  * Licensed to the Apache Software Foundation (ASF) under one or more
5  * contributor license agreements.  See the NOTICE file distributed with
6  * this work for additional information regarding copyright ownership.
7  * The ASF licenses this file to You under the Apache License, Version 2.0
8  * (the "License"); you may not use this file except in compliance with
9  * the License.  You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19
20 import org.apache.lucene.util.Attribute;
21
22 /** The positionIncrement determines the position of this token
23  * relative to the previous Token in a TokenStream, used in phrase
24  * searching.
25  *
26  * <p>The default value is one.
27  *
28  * <p>Some common uses for this are:<ul>
29  *
30  * <li>Set it to zero to put multiple terms in the same position.  This is
31  * useful if, e.g., a word has multiple stems.  Searches for phrases
32  * including either stem will match.  In this case, all but the first stem's
33  * increment should be set to zero: the increment of the first instance
34  * should be one.  Repeating a token with an increment of zero can also be
35  * used to boost the scores of matches on that token.
36  *
37  * <li>Set it to values greater than one to inhibit exact phrase matches.
38  * If, for example, one does not want phrases to match across removed stop
39  * words, then one could build a stop word filter that removes stop words and
40  * also sets the increment to the number of stop words removed before each
41  * non-stop word.  Then exact phrase queries will only match when the terms
42  * occur with no intervening stop words.
43  *
44  * </ul>
45  * 
46  * @see org.apache.lucene.index.TermPositions
47  */
48 public interface PositionIncrementAttribute extends Attribute {
49   /** Set the position increment. The default value is one.
50    *
51    * @param positionIncrement the distance from the prior term
52    */
53   public void setPositionIncrement(int positionIncrement);
54
55   /** Returns the position increment of this Token.
56    * @see #setPositionIncrement
57    */
58   public int getPositionIncrement();
59 }