2015-09-07 85 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

進一步建議,歡迎。