自动填充功能不适用于Solr中的多个字段

时间:2015-09-18 05:46:28

标签: solr

我可以为单个字段执行自动完成,但是当我尝试为多个字段执行自动完成时,它不起作用。它没有给我任何结果。我在这做错了什么?改变了 Schema.xml如下:

  <field name="last_name" type="text_general" indexed="true" stored="true" />
   <field name="name" type="text_general" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" />


<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

<copyField source="name" dest="text"/>
<copyField source="last_name" dest="text"/>

In Solrconfig.xml
<searchComponent name="suggest" class="solr.SuggestComponent">
    <lst name="suggester">
      <str name="name">mySuggester</str>
      <str name="lookupImpl">FuzzyLookupFactory</str>      
      <str name="dictionaryImpl">DocumentDictionaryFactory</str>
      <str name="field">text</str>
      <str name="weightField">price</str>
      <str name="suggestAnalyzerFieldType">text_general</str>
      <str name="buildOnStartup">false</str>
    </lst>
  </searchComponent>

  <requestHandler name="/suggest" class="solr.SearchHandler" 
                  startup="lazy" >
    <lst name="defaults">
      <str name="suggest">true</str>
      <str name="suggest.count">10</str>
    </lst>
    <arr name="components">
      <str>suggest</str>
    </arr>
  </requestHandler>

我正在使用以下命令查询 http://localhost:8983/solr/search/suggest?suggest=true&suggest.build=true&suggest.dictionary=mySuggester&wt=json&suggest.q=&#34 +名称,

1 个答案:

答案 0 :(得分:1)

如果您使用的是 solr 5.0 等,那么只有solr suggester才能用于多值字段。

您的text字段应该stored=true然后才能生效。我测试了它。

<field name="text" type="text_general" indexed="true" stored="true" multiValued="true"/>

您需要重新索引数据,以便在solr中存储字段。