配置和定制提前输入功能

提前输入功能支持用户使用选项下拉列表作为搜索字段来查找和选择选项列表中的项。此功能必须先配置,然后才能使用。此功能还可定制。

配置提前输入

有关配置提前输入的指示信息,请参阅技术说明 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 分析器设置的参考信息,请访问 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

反馈