配置及自訂自動搜尋特性

自動搜尋特性可讓使用者使用選擇下拉清單作為搜尋欄位,以尋找選擇清單中的項目並加以選取。必須先配置此特性,然後才能使用它。您也可以自訂此特性。

配置自動搜尋

如需配置自動搜尋的相關指示,請參閱 Technote 27042315

自訂自動搜尋

自動搜尋特性具有自己的索引以及可以自訂的分析器;下列是其預設配置:

    <fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
        <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="256"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
    </fieldType>
此配置會啟用與編輯器的「尋找」功能類似的全文搜尋行為。例如,假設您想要自訂自動搜尋,以忽略冠詞("a"、"an"、"the")和連接詞("or"、"but" 等等)。請在檔案 stopwords_en.txt 中指定這類單字,然後編輯 {FTSHOME}\dbset\userdb\Solr\typeahead\conf\schema.xml,如下所示:
    <fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" enablePositionIncrements="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
        <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="256"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" enablePositionIncrements="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
    </fieldType>
如需所有 Solr analyzer 設定的參考資訊,請參閱 http://wiki.apache.org/solr/
註: 如需下列程序中引用之指令的參考資訊,請參閱 r_cqtsadmin_pl
如果在完成全文搜尋部署之前(亦即,在執行 --setup_cq_fts 之前)已自訂自動搜尋,則不需要執行任何其他步驟。如果已部署全文搜尋,請完成下列步驟:
  1. 停止更新模式編製索引:
    --stop_update_idx
  2. 重新啟動 FTS WAS 設定檔:
    --stop_fts_was_profile
    --start_fts_was_profile
  3. 重新產生索引:
    --fresh_batch_idx
    (如果此指令在完成之前失敗,請使用 --run_batch_idx 回復編製索引。)
  4. 重新啟用更新模式檢索程式:
    --start_update_idx
  5. 重新啟動 FTS WAS 設定檔:
    --stop_fts_was_profile
    --start_fts_was_profile

意見