Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Alters the length normalization of the similarity as compared to DefaultSimilarity, but nothing else
- */
- public class MySimilarity extends DefaultSimilarity {
- private static final float DEFAULT_NUMERATOR = 10.0f;
- private float numerator = DEFAULT_NUMERATOR;
- private static final double DEFAULT_DENOMINATOR_FACTOR = 99;
- private double denominatorFactor = DEFAULT_DENOMINATOR_FACTOR;
- public MySimilarity() {
- }
- /** A less steep length normalization method for document text fields,
- * which gives very short less of an advantage.
- * Implemented as <code>{numerator / sqrt(numTerms + denominatorFactor)}</code>.
- */
- @Override
- public float lengthNorm(FieldInvertState state) {
- return state.getBoost() * (float) (numerator / Math.sqrt(state.getLength() + denominatorFactor));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement