3

フィールド定義

<field name="programDescriptionLookup"
       type="suggest_simple"
       indexed="true"
       stored="false"
       multiValued="true"/>

フィールドタイプとコピーフィールド

<copyField source="programDescription" dest="programDescriptionLookup"/>

<fieldType name="suggest_simple" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
</fieldType>

フィールドに次の値を持つ 2 つのドキュメントが存在します

<field name="programDescription">Great program for kids</field>
<field name="programDescription">Excellent program for Technology</field>

検索すると

http://127.0.0.1:8080/solr/core/posdSuggest?q=progra+fo

<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">3</int>
</lst>
<lst name="spellcheck">
<lst name="suggestions">
<lst name="progra">
<int name="numFound">1</int>
<int name="startOffset">0</int>
<int name="endOffset">6</int>
<arr name="suggestion">
<str>program</str>
</arr>
</lst>
<lst name="fo">
<int name="numFound">1</int>
<int name="startOffset">7</int>
<int name="endOffset">9</int>
<arr name="suggestion">
<str>for</str>
</arr>
</lst>
<str name="collation">program for</str>
</lst>
</lst>
</response>

完全な単語で検索すると、結果が得られません

http://127.0.0.1:8080/solr/core/posdSuggest?q=program+for

<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">1</int>
</lst>
<lst name="spellcheck">
<lst name="suggestions"/>
</lst>
</response>

progra+foクエリとの両方の結果を取得するには、どのような構成変更が必要program+forですか?

4

0 に答える 0