Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package simulator;
- import org.apache.lucene.index.FieldInvertState;
- import org.apache.lucene.search.similarities.TFIDFSimilarity;
- import org.apache.lucene.util.BytesRef;
- /**
- * Created by b.fpa on 20/05/15.
- */
- public class CustomTFIDFSimilarity extends TFIDFSimilarity {
- protected boolean discountOverlaps = false;
- public boolean getDiscountOverlaps() {
- return discountOverlaps;
- }
- @Override
- public float coord(int i, int i1) {
- return 1;
- }
- @Override
- public float queryNorm(float v) {
- return (float) (1/Math.pow((double)v,2));
- }
- @Override
- public float tf(float v) {
- return 1; //(float)Math.sqrt(v);
- }
- @Override
- public float idf(long docFreq, long numDocs) {
- return (float)(Math.log(numDocs/(double)(docFreq+1)) + 1.0);
- //return 1;
- }
- @Override
- public float lengthNorm(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)));
- return (float) (1.0 / numTerms);
- }
- @Override
- public float decodeNormValue(long l) {
- return 1;
- }
- @Override
- public long encodeNormValue(float v) {
- return 1;
- }
- @Override
- public float sloppyFreq(int i) {
- return 1;
- }
- @Override
- public float scorePayload(int i, int i1, int i2, BytesRef bytesRef) {
- return 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment