Advertisement
Guest User

Untitled

a guest
May 24th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. /**
  2. * Alters the length normalization of the similarity as compared to DefaultSimilarity, but nothing else
  3. */
  4. public class MySimilarity extends DefaultSimilarity {
  5.  
  6. private static final float DEFAULT_NUMERATOR = 10.0f;
  7. private float numerator = DEFAULT_NUMERATOR;
  8.  
  9. private static final double DEFAULT_DENOMINATOR_FACTOR = 99;
  10. private double denominatorFactor = DEFAULT_DENOMINATOR_FACTOR;
  11.  
  12. public MySimilarity() {
  13. }
  14.  
  15.  
  16. /** A less steep length normalization method for document text fields,
  17. * which gives very short less of an advantage.
  18. * Implemented as <code>{numerator / sqrt(numTerms + denominatorFactor)}</code>.
  19. */
  20. @Override
  21. public float lengthNorm(FieldInvertState state) {
  22. return state.getBoost() * (float) (numerator / Math.sqrt(state.getLength() + denominatorFactor));
  23. }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement