我仍然是SOLR的新手,我已经设法从数据库中安装和索引了1000个文档。当我提交查询时,结果会正确返回,但字段的顺序不会显示为数据配置文件中定义的顺序。
数据配置文件示例:
<field column="id" name="event_id" />
<field column="event_desc_current" name="event_desc" />
<field column="event_cost" name="event_cost" />
<field column="event_sponsors" name="event_sponsors" />
...
返回结果示例:
<result name="response" numFound="7" start="0">
<doc>
<str name="event_desc">Church Fund Raising</str>
<arr name="event_sponsors">
<str/>
</arr>
<str name="event_id">2</str>
<int name="event_cost">428</int>
...
<long name="_version_">1472652516366745600</long></doc>
我如何输出数据配置文件中定义的字段的顺序:
event_id
event_desc
event_cost
event_sponsors
...
通常,字段的顺序应该无关紧要,因为您将在客户端中反序列化它,并且显示搜索结果的逻辑是与客户端一起的。
但是,如果您确实想要指定字段的顺序,您可以在Solr查询中使用fl
参数来按照您喜欢的顺序获得结果。
您还可以选择在搜索字段中包含哪些字段。
就我个人而言,我建议您不必担心字段的顺序,并拥有一个可以以任何顺序使用字段的客户端。原因是,如果您在模式中添加一个新字段,在中间,您可能会破坏客户端的逻辑!