X-Git-Url: https://git.mdrn.pl/pylucene.git/blobdiff_plain/a2e61f0c04805cfcb8706176758d1283c7e3a55c..aaeed5504b982cf3545252ab528713250aa33eed:/lucene-java-3.4.0/lucene/src/java/org/apache/lucene/search/DefaultSimilarity.java?ds=sidebyside diff --git a/lucene-java-3.4.0/lucene/src/java/org/apache/lucene/search/DefaultSimilarity.java b/lucene-java-3.4.0/lucene/src/java/org/apache/lucene/search/DefaultSimilarity.java deleted file mode 100644 index e321ff3..0000000 --- a/lucene-java-3.4.0/lucene/src/java/org/apache/lucene/search/DefaultSimilarity.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.apache.lucene.search; - -import org.apache.lucene.index.FieldInvertState; - -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** Expert: Default scoring implementation. */ -public class DefaultSimilarity extends Similarity { - - /** Implemented as - * state.getBoost()*lengthNorm(numTerms), where - * numTerms is {@link FieldInvertState#getLength()} if {@link - * #setDiscountOverlaps} is false, else it's {@link - * FieldInvertState#getLength()} - {@link - * FieldInvertState#getNumOverlap()}. - * - * @lucene.experimental */ - @Override - public float computeNorm(String field, FieldInvertState state) { - final int numTerms; - if (discountOverlaps) - numTerms = state.getLength() - state.getNumOverlap(); - else - numTerms = state.getLength(); - return state.getBoost() * ((float) (1.0 / Math.sqrt(numTerms))); - } - - /** Implemented as 1/sqrt(sumOfSquaredWeights). */ - @Override - public float queryNorm(float sumOfSquaredWeights) { - return (float)(1.0 / Math.sqrt(sumOfSquaredWeights)); - } - - /** Implemented as sqrt(freq). */ - @Override - public float tf(float freq) { - return (float)Math.sqrt(freq); - } - - /** Implemented as 1 / (distance + 1). */ - @Override - public float sloppyFreq(int distance) { - return 1.0f / (distance + 1); - } - - /** Implemented as log(numDocs/(docFreq+1)) + 1. */ - @Override - public float idf(int docFreq, int numDocs) { - return (float)(Math.log(numDocs/(double)(docFreq+1)) + 1.0); - } - - /** Implemented as overlap / maxOverlap. */ - @Override - public float coord(int overlap, int maxOverlap) { - return overlap / (float)maxOverlap; - } - - // Default true - protected boolean discountOverlaps = true; - - /** Determines whether overlap tokens (Tokens with - * 0 position increment) are ignored when computing - * norm. By default this is true, meaning overlap - * tokens do not count when computing norms. - * - * @lucene.experimental - * - * @see #computeNorm - */ - public void setDiscountOverlaps(boolean v) { - discountOverlaps = v; - } - - /** @see #setDiscountOverlaps */ - public boolean getDiscountOverlaps() { - return discountOverlaps; - } -}