2017-09-05 31 views
0

5.1以下solrconfig.xml中Solr的6.5.1 FL顯示不是爲了

<lst name="defaults"> 
    <str name="wt">json</str> 
    <str name="indent">true</str> 
    <str name="fl">name,id,CITY,countryCode</str> 
    <str name="rows">50</str> 
    <str name="df">Test_AC</str> 
    <str name="sort">score desc</str> 
</lst> 
<arr name="components"> 
    <str>query</str> 
</arr> 

但在輸出我沒有得到正確的順序

實際
{ 名稱: 「測試1」, 城市: 「city_test」, ID: 「23456」, COUNTRYCODE:美國 }

預期顯示順序在佛羅里達州

{ 名稱: 「測試1」, ID: 「23456」, 城市: 「city_test」, COUNTRYCODE:美國 }

我使用Solr的搜索和Lucene索引創建

回答

0

現場秩序不能保證。既不是來自Solr,也不是JSON對象,也取決於你查詢的語言(即從你的solr庫/ JSON庫返回的字典對象可能不保證順序)。

如果您需要訂購,請保留您想要返回元素的訂單的單獨列表,並在顯示字段時遍歷該列表。

field_order = ['name', 'id', 'city', 'countryCode'] 

for doc in documents: 
    for field in field_order: 
     print(doc[field]) 
+0

我們是否可以對任何自定義響應進行調整,以便我們可以對文件進行顯示重新排序。我正在使用java語言。 Solr 6.5.1用於搜索和用於索引的lucene 6.5.1 –

+0

我不確定SolrJ使用的輸出格式(如果這就是您使用的)使用javabin,它在輸出的類型中具有固有的順序支持。通過在您的代碼庫中創建支持類可能會更容易,更容易維護。 – MatsLindh