List of usage examples for org.apache.lucene.search.similarities BM25Similarity setDiscountOverlaps
public void setDiscountOverlaps(boolean v)
From source file:org.apache.solr.search.similarities.BM25SimilarityFactory.java
License:Apache License
@Override public Similarity getSimilarity() { BM25Similarity sim = new BM25Similarity(k1, b); sim.setDiscountOverlaps(discountOverlaps); return sim;/*from ww w . j a v a 2s .c om*/ }
From source file:org.elasticsearch.index.similarity.ScriptedSimilarityTests.java
License:Apache License
private void doTestSameNormsAsBM25(boolean discountOverlaps) { ScriptedSimilarity sim1 = new ScriptedSimilarity("foobar", null, "foobaz", null, discountOverlaps); BM25Similarity sim2 = new BM25Similarity(); sim2.setDiscountOverlaps(discountOverlaps); for (int iter = 0; iter < 100; ++iter) { final int length = TestUtil.nextInt(random(), 1, 100); final int position = random().nextInt(length); final int numOverlaps = random().nextInt(length); FieldInvertState state = new FieldInvertState(Version.LATEST.major, "foo", position, length, numOverlaps, 100);/* w ww. ja v a2 s . c om*/ assertEquals(sim2.computeNorm(state), sim1.computeNorm(state), 0f); } }
From source file:org.elasticsearch.index.similarity.SimilarityProviders.java
License:Apache License
public static BM25Similarity createBM25Similarity(Settings settings, Version indexCreatedVersion) { assertSettingsIsSubsetOf("BM25", indexCreatedVersion, settings, "k1", "b", DISCOUNT_OVERLAPS); float k1 = settings.getAsFloat("k1", 1.2f); float b = settings.getAsFloat("b", 0.75f); boolean discountOverlaps = settings.getAsBoolean(DISCOUNT_OVERLAPS, true); BM25Similarity similarity = new BM25Similarity(k1, b); similarity.setDiscountOverlaps(discountOverlaps); return similarity; }