I am using this reference link: http://www.mail-archive.com/solr-user@lucene.apache.org/msg26389.html

However the article is a bit old and when I try to compile the class (using newest solr 3.4 / java version "1.7.0_01" / Java(TM) SE Runtime Environment (build 1.7.0_01-b08) / Java HotSpot(TM) 64-Bit Server VM (build 21.1-b02, mixed mode)

I get :
-
javac -classpath /var/lib/lucene_master/lib/lucene-core-3.4.0.jar ./NoLengthNormAndTfSimilarity.java

./NoLengthNormAndTfSimilarity.java:7: error: lengthNorm(String,int) in NoLengthNormAndTfSimilarity cannot override lengthNorm(String,int) in Similarity
 public float lengthNorm(String fieldName, int numTerms) {
              ^
 overridden method is final
1 error
-
What am I doing wrong, is there a better way or newer way to do this?

The bottom line is i want the number of words to NOT factor in score, and I DO want to use related functions. I tried omitTermFreqAndPositions="true" and it did not allow me to use for example "spiderman doc"~100. Loss of all functionality

-Craig

--- actual code ---
package mypackagexyz...

import org.apache.lucene.search.DefaultSimilarity;

public class NoLengthNormAndTfSimilarity extends DefaultSimilarity {

public float lengthNorm(String fieldName, int numTerms) {
return numTerms > 0 ? 1.0f : 0.0f;
}

public float tf(float freq) {
return freq > 0 ? 1.0f : 0.0f;
}
}
---

Reply via email to