Hi all,

I've got a FuzzyLookupFactory spellchecker with exactMatchFirst enabled. A
query like "tes" will return "test" and "testing", but a query for "test"
will *not* return "test" even though it is clearly in the dictionary. Why
would this be?

Relevant config follows

<searchComponent class="solr.SpellCheckComponent" name="suggest">
    <lst name="spellchecker">
        <str name="name">suggest</str>

        <!-- Implementation -->
        <str
name="classname">org.apache.solr.spelling.suggest.Suggester</str>
        <str
name="lookupImpl">org.apache.solr.spelling.suggest.fst.FuzzyLookupFactory</str>

        <!-- Properties -->
        <bool name="preserveSep">false</bool>
        <bool name="exactMatchFirst">true</bool>
        <str name="suggestAnalyzerFieldType">text_spell</str>
        <float name="threshold">0.005</float>

        <!--
        Do not build on each commit, bad for performance. See cron.
        <str name="buildOnCommit">false</str>
        -->

        <!-- Source -->
        <str name="field">suggest</str>
    </lst>
</searchComponent>

<requestHandler name="/suggest" class="solr.SearchHandler">
    <lst name="defaults">
        <str name="spellcheck">true</str>
        <str name="spellcheck.dictionary">suggest</str>
        <str name="spellcheck.onlyMorePopular">true</str>
        <str name="spellcheck.count">5</str>
        <str name="spellcheck.collate">true</str>
    </lst>

    <arr name="components">
        <str>suggest</str>
    </arr>
</requestHandler>

-- 
Hamish Campbell
Koordinates Ltd <http://koordinates.com/?_bzhc=esig>
PH   +64 9 966 0433
FAX +64 9 966 0045

Reply via email to