0

我想按 sku 对 solr 结果进行排序,

这是我对结果进行排序的查询

http://localhost:8983/solr/test_core/select?sort=skucode+asc&q=*skucode*&wt=xml

skucode 标记将数据存储在数字字段中。

<str name="id">39902395</str>
<arr name="skucode"><long>5076501</long></arr>

我已经使用 xml 文件将数据存储在 solr 中。

它给出的错误是can not sort on multivalued field: skucode

或存储没有多值的数据

请让我知道如何在没有多值的情况下存储数据或如何从后端进行更改。

4

1 回答 1

0

只有当您执行排序的字段是单值而不是多值时,您的查询才会起作用。您可以使用函数查询对多值字段进行排序。

http://localhost:8983/solr/test_core/select?sort=field(skucode,max)+ASC&q=*skucode*&wt=xml

有关函数查询的更多信息:- https://cwiki.apache.org/confluence/display/solr/Function+Queries

您使用的查询也可以使用的第二种方法是,您可以更改 skucode 的数据类型并将其设为单值。为了使其在 schema.xml 中将 skucode 的单值数据类型从 longs 更改为 long。

<field name="skucode" type="long"/>

PS :- 更改其数据类型后,您需要重新索引以反映您的更改

于 2017-07-05T17:18:41.450 回答