Solr 6.5.1 FL显示不按顺序排列

时间:2017-09-05 11:13:00

标签: solr lucene

5.1下面的solrconfig.xml

 <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>

但是在输出中我没有得到正确的订单

实际
{ 名称:&#34;测试1&#34;, 城市:&#34; city_test&#34;, id:&#34; 23456&#34;, COUNTRYCODE:美国 }

fl中的预期显示顺序

{ 名称:&#34;测试1&#34;, id:&#34; 23456&#34;, 城市:&#34; city_test&#34;, COUNTRYCODE:美国 }

我使用solr进行搜索,使用lucene进行索引创建

1 个答案:

答案 0 :(得分:0)

不保证现场订单。既不是Solr,也不是JSON对象,也取决于您查询的语言(即从您的solr库/ JSON库返回的字典对象可能无法保证顺序)。

如果您需要订单,请保留一份单独的列表,列出您要返回元素的顺序,并在显示字段时迭代该列表。

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

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