use of org.apache.lucene.search.similarities.Similarity in project lucene-solr by apache.
the class TestIBSimilarityFactory method test.
/** spl/df/h2 with default parameters */
public void test() throws Exception {
Similarity sim = getSimilarity("text");
assertEquals(IBSimilarity.class, sim.getClass());
IBSimilarity ib = (IBSimilarity) sim;
assertEquals(DistributionSPL.class, ib.getDistribution().getClass());
assertEquals(LambdaDF.class, ib.getLambda().getClass());
assertEquals(NormalizationH2.class, ib.getNormalization().getClass());
}
use of org.apache.lucene.search.similarities.Similarity in project lucene-solr by apache.
the class TestLMDirichletSimilarityFactory method testParameters.
/** dirichlet with parameters */
public void testParameters() throws Exception {
Similarity sim = getSimilarity("text_params");
assertEquals(LMDirichletSimilarity.class, sim.getClass());
LMDirichletSimilarity lm = (LMDirichletSimilarity) sim;
assertEquals(1000f, lm.getMu(), 0.01f);
}
use of org.apache.lucene.search.similarities.Similarity in project lucene-solr by apache.
the class TestDFISimilarityFactory method test.
/**
* dfi with no parameters
*/
public void test() throws Exception {
Similarity sim = getSimilarity("text");
assertEquals(DFISimilarity.class, sim.getClass());
DFISimilarity dfi = (DFISimilarity) sim;
assertTrue(dfi.getDiscountOverlaps());
assertTrue(dfi.getIndependence() instanceof IndependenceChiSquared);
}
use of org.apache.lucene.search.similarities.Similarity in project lucene-solr by apache.
the class TestDFRSimilarityFactory method testParameterC.
/** LUCENE-3566 */
public void testParameterC() throws Exception {
Similarity sim = getSimilarity("text_paramc");
assertEquals(DFRSimilarity.class, sim.getClass());
DFRSimilarity dfr = (DFRSimilarity) sim;
assertEquals(BasicModelP.class, dfr.getBasicModel().getClass());
assertEquals(AfterEffectL.class, dfr.getAfterEffect().getClass());
assertEquals(NormalizationH2.class, dfr.getNormalization().getClass());
NormalizationH2 norm = (NormalizationH2) dfr.getNormalization();
assertEquals(7f, norm.getC(), 0.01f);
}
use of org.apache.lucene.search.similarities.Similarity in project lucene-solr by apache.
the class TestCustomNorms method testFloatNorms.
public void testFloatNorms() throws IOException {
Directory dir = newDirectory();
MockAnalyzer analyzer = new MockAnalyzer(random());
analyzer.setMaxTokenLength(TestUtil.nextInt(random(), 1, IndexWriter.MAX_TERM_LENGTH));
IndexWriterConfig config = newIndexWriterConfig(analyzer);
Similarity provider = new MySimProvider();
config.setSimilarity(provider);
RandomIndexWriter writer = new RandomIndexWriter(random(), dir, config);
final LineFileDocs docs = new LineFileDocs(random());
int num = atLeast(100);
for (int i = 0; i < num; i++) {
Document doc = docs.nextDoc();
int boost = TestUtil.nextInt(random(), 1, 10);
String value = IntStream.range(0, boost).mapToObj(k -> Integer.toString(boost)).collect(Collectors.joining(" "));
Field f = new TextField(FLOAT_TEST_FIELD, value, Field.Store.YES);
doc.add(f);
writer.addDocument(doc);
doc.removeField(FLOAT_TEST_FIELD);
if (rarely()) {
writer.commit();
}
}
writer.commit();
writer.close();
DirectoryReader open = DirectoryReader.open(dir);
NumericDocValues norms = MultiDocValues.getNormValues(open, FLOAT_TEST_FIELD);
assertNotNull(norms);
for (int i = 0; i < open.maxDoc(); i++) {
Document document = open.document(i);
int expected = Integer.parseInt(document.get(FLOAT_TEST_FIELD).split(" ")[0]);
assertEquals(i, norms.nextDoc());
assertEquals(expected, norms.longValue());
}
open.close();
dir.close();
docs.close();
}
Aggregations