【问题标题】:Solr Spellchecker Component (Suggester) for phrase across multiple field (with different tokenizers)Solr Spellchecker Component (Suggester) 用于跨多个字段的短语(使用不同的标记器)
【发布时间】:2014-01-04 17:28:17
【问题描述】:

我正在尝试使用需要支持不同标记器的多个字段通过 solr 实现自动建议功能。我想要完成的场景如下:

有两个字段 author(KeywordTokenizer) 和 subject(StandardTokenizer) 被复制到 autosuggest(用作 spellcheck.field)

<field name="author" type="phrase" indexed="true" stored="true" multiValued="false"/>
<field name="subject" type="text_general" indexed="true" stored="true"/> 
<field name="autosuggest" type="text_general" indexed="true" stored="true"     multiValued="true"/>
<copyField source="*" dest="autosuggest"/>
<fieldType name="phrase" class="solr.TextField" positionIncrementGap="100">
  <analyzer>
     <tokenizer class="solr.KeywordTokenizerFactory" />
     <filter class="solr.LowerCaseFilterFactory" />
     <filter class="solr.RemoveDuplicatesTokenFilterFactory" />         
   </analyzer>
</fieldType>

示例值: 主题 - “Dell boost Widescreen UltraSharp 3007WFP”; 作者 - “Del Stiller”

搜索查询 : solr/select?q=de ; 预期结果:戴尔,戴尔斯蒂勒

结果会根据分配的自动建议字段类型而有所不同。但是我需要将每个字段中的标记复制到“自动建议”而不是复制值,然后标记器在整理的字段值上创建新标记。

我正在使用 SOLR 4.5.1

【问题讨论】:

    标签: solr tokenize autosuggest phrase


    【解决方案1】:

    这里发生的情况是,stored=true 也将原始值存储在目标字段中。

    对于您的简单用例,使用 TermsComponent 可能就足够了,请查看如何操作 here,其中显示“在自动完成中使用”。 这将起作用,因为该组件返回的是术语,而不是存储的值。

    【讨论】:

      猜你喜欢
      • 2015-09-21
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      • 2013-06-26
      • 1970-01-01
      • 2011-11-04
      • 2012-10-03
      • 2014-10-04
      相关资源
      最近更新 更多