繁体   English   中英

如何对Solr多值结果进行排序或存储不带多值的数据

[英]How to sort Solr Multivalued Result Or Store data without multivalued

我想按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错误can not sort on multivalued field: skucode

或存储无多值的数据

请让我知道如何存储不带多值的数据或如何从后端更改。

仅当您要执行排序的字段是单值而不是多值时,查询才有效。 您可以使用函数查询对多值字段执行排序。

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的数据类型从long更改为long。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM