Search in sources :

Example 1 with JaroWinklerDistance

use of org.apache.lucene.search.spell.JaroWinklerDistance in project lucene-solr by apache.

the class IndexBasedSpellCheckerTest method testAlternateDistance.

@Test
public void testAlternateDistance() throws Exception {
    TestSpellChecker checker = new TestSpellChecker();
    NamedList spellchecker = new NamedList();
    spellchecker.add("classname", IndexBasedSpellChecker.class.getName());
    File indexDir = createTempDir().toFile();
    spellchecker.add(AbstractLuceneSpellChecker.INDEX_DIR, indexDir.getAbsolutePath());
    spellchecker.add(AbstractLuceneSpellChecker.FIELD, "title");
    spellchecker.add(AbstractLuceneSpellChecker.SPELLCHECKER_ARG_NAME, spellchecker);
    spellchecker.add(AbstractLuceneSpellChecker.STRING_DISTANCE, JaroWinklerDistance.class.getName());
    SolrCore core = h.getCore();
    String dictName = checker.init(spellchecker, core);
    assertTrue(dictName + " is not equal to " + SolrSpellChecker.DEFAULT_DICTIONARY_NAME, dictName.equals(SolrSpellChecker.DEFAULT_DICTIONARY_NAME) == true);
    RefCounted<SolrIndexSearcher> holder = core.getSearcher();
    SolrIndexSearcher searcher = holder.get();
    try {
        checker.build(core, searcher);
        SpellChecker sc = checker.getSpellChecker();
        assertTrue("sc is null and it shouldn't be", sc != null);
        StringDistance sd = sc.getStringDistance();
        assertTrue("sd is null and it shouldn't be", sd != null);
        assertTrue("sd is not an instance of " + JaroWinklerDistance.class.getName(), sd instanceof JaroWinklerDistance);
    } finally {
        holder.decref();
    }
}
Also used : JaroWinklerDistance(org.apache.lucene.search.spell.JaroWinklerDistance) StringDistance(org.apache.lucene.search.spell.StringDistance) NamedList(org.apache.solr.common.util.NamedList) SolrCore(org.apache.solr.core.SolrCore) SpellChecker(org.apache.lucene.search.spell.SpellChecker) SolrIndexSearcher(org.apache.solr.search.SolrIndexSearcher) File(java.io.File) Test(org.junit.Test)

Aggregations

File (java.io.File)1 JaroWinklerDistance (org.apache.lucene.search.spell.JaroWinklerDistance)1 SpellChecker (org.apache.lucene.search.spell.SpellChecker)1 StringDistance (org.apache.lucene.search.spell.StringDistance)1 NamedList (org.apache.solr.common.util.NamedList)1 SolrCore (org.apache.solr.core.SolrCore)1 SolrIndexSearcher (org.apache.solr.search.SolrIndexSearcher)1 Test (org.junit.Test)1