2015-09-07 65 views
11

我们使用Solr建议功能businessName查找。当用户输入查询以及匹配的名称时,我们希望solr发送其他属性,如ID,地址,城市,州,国家等字段。Solr建议与多个有效载荷

我试图在Solr建议器中使用payloadField标签配置多个字段,但它只返回第一个字段。我试图用逗号分隔时尚,但没有运气。这里是从solrconfig.xml文件的当前配置。

<searchComponent name="suggest" class="solr.SuggestComponent"> 
    <lst name="suggester"> 
     <str name="name">suggest</str> 
     <str name="lookupImpl">AnalyzingLookupFactory</str> 
     <str name="storeDir">suggester_fuzzy_dir</str> 
     <str name="dictionaryImpl">DocumentDictionaryFactory</str> 
     <str name="field">businessName</str> 
     <str name="payloadField">profileId</str> 
     <str name="payloadField">email</str> 
     <str name="payloadField">city</str> 
     <str name="payloadField">state</str> 
     <str name="payloadField">postalCode</str> 
     <str name="payloadField">phoneNumber</str> 
     <str name="weightField">businessName</str> 
     <str name="suggestAnalyzerFieldType">text_general</str> 
     <str name="buildOnStartup">true</str> 
     <str name="buildOnCommit">true</str> 
     <str name="preserveSep">false</str> 
    </lst> 
</searchComponent> 

在结果中发送多个有效载荷需要什么配置?谢谢。


编辑:
这是solr的建议者的电流输出。

{ 
     "suggest": { 
      "suggest": { 
       "Rock": { 
        "numFound": 1, 
        "suggestions": [ 
         { 
          "term": "Rockview Properties", 
          "weight": 0, 
          "payload": "123456789" 
         } 
        ] 
       } 
      } 
     } 
    } 

我的意料:
其中建议者的有效载荷包含多个领域的方式。有效载荷字段还包含什么数据属于哪个字段的信息。我不想使用copyField标签复制单个字段中的所有数据,然后作为有效负载方式传递。

+0

你现在可以复制/粘贴你的输出吗?还有,你在输出中期待什么? – jay

+0

我不认为这是有效载荷的功能。这里有一篇文章详细解释有效载荷。 https://lucidworks.com/blog/end-to-end-payload-example-in-solr/ – jay

回答

5

我一直在线阅读和搜索问题,发送多个有效载荷,同时返回solr建议器结果。我发现,我们只能从索引发送一个字段作为有效载荷。

参考:Link

进一步建议,欢迎。