Search in sources :

Example 36 with Similarity

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());
}
Also used : Similarity(org.apache.lucene.search.similarities.Similarity) IBSimilarity(org.apache.lucene.search.similarities.IBSimilarity) IBSimilarity(org.apache.lucene.search.similarities.IBSimilarity)

Example 37 with Similarity

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);
}
Also used : Similarity(org.apache.lucene.search.similarities.Similarity) LMDirichletSimilarity(org.apache.lucene.search.similarities.LMDirichletSimilarity) LMDirichletSimilarity(org.apache.lucene.search.similarities.LMDirichletSimilarity)

Example 38 with Similarity

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);
}
Also used : DFISimilarity(org.apache.lucene.search.similarities.DFISimilarity) Similarity(org.apache.lucene.search.similarities.Similarity) DFISimilarity(org.apache.lucene.search.similarities.DFISimilarity) IndependenceChiSquared(org.apache.lucene.search.similarities.IndependenceChiSquared)

Example 39 with Similarity

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);
}
Also used : DFRSimilarity(org.apache.lucene.search.similarities.DFRSimilarity) Similarity(org.apache.lucene.search.similarities.Similarity) NormalizationH2(org.apache.lucene.search.similarities.NormalizationH2) DFRSimilarity(org.apache.lucene.search.similarities.DFRSimilarity)

Example 40 with Similarity

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();
}
Also used : IntStream(java.util.stream.IntStream) ClassicSimilarity(org.apache.lucene.search.similarities.ClassicSimilarity) TestUtil(org.apache.lucene.util.TestUtil) IOException(java.io.IOException) PerFieldSimilarityWrapper(org.apache.lucene.search.similarities.PerFieldSimilarityWrapper) Collectors(java.util.stream.Collectors) MockAnalyzer(org.apache.lucene.analysis.MockAnalyzer) Document(org.apache.lucene.document.Document) CollectionStatistics(org.apache.lucene.search.CollectionStatistics) LineFileDocs(org.apache.lucene.util.LineFileDocs) Field(org.apache.lucene.document.Field) Similarity(org.apache.lucene.search.similarities.Similarity) Directory(org.apache.lucene.store.Directory) LuceneTestCase(org.apache.lucene.util.LuceneTestCase) TextField(org.apache.lucene.document.TextField) TermStatistics(org.apache.lucene.search.TermStatistics) ClassicSimilarity(org.apache.lucene.search.similarities.ClassicSimilarity) Similarity(org.apache.lucene.search.similarities.Similarity) Document(org.apache.lucene.document.Document) Field(org.apache.lucene.document.Field) TextField(org.apache.lucene.document.TextField) MockAnalyzer(org.apache.lucene.analysis.MockAnalyzer) TextField(org.apache.lucene.document.TextField) Directory(org.apache.lucene.store.Directory) LineFileDocs(org.apache.lucene.util.LineFileDocs)

Aggregations

Similarity (org.apache.lucene.search.similarities.Similarity)49 ClassicSimilarity (org.apache.lucene.search.similarities.ClassicSimilarity)16 BM25Similarity (org.apache.lucene.search.similarities.BM25Similarity)15 Directory (org.apache.lucene.store.Directory)9 PerFieldSimilarityWrapper (org.apache.lucene.search.similarities.PerFieldSimilarityWrapper)8 SweetSpotSimilarity (org.apache.lucene.misc.SweetSpotSimilarity)7 IOException (java.io.IOException)6 IndexSearcher (org.apache.lucene.search.IndexSearcher)6 Document (org.apache.lucene.document.Document)5 Term (org.apache.lucene.index.Term)5 Collectors (java.util.stream.Collectors)4 IntStream (java.util.stream.IntStream)4 Field (org.apache.lucene.document.Field)4 RandomIndexWriter (org.apache.lucene.index.RandomIndexWriter)4 NormValueSource (org.apache.lucene.queries.function.valuesource.NormValueSource)4 TermQuery (org.apache.lucene.search.TermQuery)4 BytesRef (org.apache.lucene.util.BytesRef)4 ScoredDocuments (io.anserini.rerank.ScoredDocuments)3 MockAnalyzer (org.apache.lucene.analysis.MockAnalyzer)3 Store (org.apache.lucene.document.Field.Store)3