/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.apache.solr.search.similarities;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.SchemaAware;
import org.apache.solr.schema.SimilarityFactory;
import org.apache.lucene.misc.SweetSpotSimilarity;
import org.apache.solr.core.SolrResourceLoader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author jluker
*/
//public class CustomSimilarityFactory extends SimilarityFactory {
public class SweetSpotSimilarityFactory extends SimilarityFactory implements SchemaAware {
public static final Logger log = LoggerFactory.getLogger(SolrResourceLoader.class);
@Override
public Similarity getSimilarity() {
SweetSpotSimilarity sim = new SweetSpotSimilarity();
int max = this.params.getInt("max");
int min = this.params.getInt("min");
float steepness = this.params.getFloat("steepness");
log.info("max: " + max);
log.info("min: " + min);
log.info("steepness: " + steepness);
sim.setLengthNormFactors(min, max, steepness, true);
sim.setLengthNormFactors(min, max, steepness, true);
return sim;
}
public void inform(IndexSchema schema) {
// do nothing
}
}