1 package org.contineo.searchengine.util; 2 3 import org.apache.lucene.search.Similarity; 4 5 11 public class SquareSimilarity extends Similarity { 12 13 16 public SquareSimilarity() { 17 } 18 19 public float lengthNorm(String fieldName, int numTerms) { 20 return (float)(1.0D / Math.sqrt(Math.sqrt(numTerms))); 21 } 22 23 public float queryNorm(float sumOfSquaredWeights) { 24 return (float)(1.0D / Math.sqrt(sumOfSquaredWeights)); 25 } 26 27 public float tf(float freq) { 28 return (float)(Math.sqrt(freq)); 29 } 30 31 public float sloppyFreq(int distance) { 32 return 1.0F / (float)(distance + 1); 33 } 34 35 public float idf(int docFreq, int numDocs) { 36 return (float)(Math.sqrt(Math.log((double)numDocs / (double)(docFreq + 1)) + 1.0D)); 37 } 38 39 public float coord(int overlap, int maxOverlap) { 40 return (float)overlap / (float)maxOverlap; 41 } 42 } 43 | Popular Tags |