1 package org.apache.lucene.analysis.tokenattributes;
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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.
20 import org.apache.lucene.util.Attribute;
22 /** The positionIncrement determines the position of this token
23 * relative to the previous Token in a TokenStream, used in phrase
26 * <p>The default value is one.
28 * <p>Some common uses for this are:<ul>
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.
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.
46 * @see org.apache.lucene.index.TermPositions
48 public interface PositionIncrementAttribute extends Attribute {
49 /** Set the position increment. The default value is one.
51 * @param positionIncrement the distance from the prior term
53 public void setPositionIncrement(int positionIncrement);
55 /** Returns the position increment of this Token.
56 * @see #setPositionIncrement
58 public int getPositionIncrement();