我知道,多值字段排序不Solr的支持。 但有什么办法,我们可以在Solr的多值字段进行排序。 我有场custom_code两个文件和值如下,
文档1:11,78,45,22
文档2:56,74,62,10
当我在升序的顺序应该是排序,
文档2:56,74,62,10
文档1:11,78,45,22
这里文档2会首先,因为它具有最小的元件10(其是大于11 DOC 1)。
我们怎样才能在Solr中实现这一目标。 什么是最简单的方法是什么?
我知道,多值字段排序不Solr的支持。 但有什么办法,我们可以在Solr的多值字段进行排序。 我有场custom_code两个文件和值如下,
文档1:11,78,45,22
文档2:56,74,62,10
当我在升序的顺序应该是排序,
文档2:56,74,62,10
文档1:11,78,45,22
这里文档2会首先,因为它具有最小的元件10(其是大于11 DOC 1)。
我们怎样才能在Solr中实现这一目标。 什么是最简单的方法是什么?
创建copyfield为多值数据的内容复制到排序的串联单值没有逗号,并用它进行排序。
对于例如:
文件1:
multiValuedData:11,78,45,22
sortedConcatenatedSingleValue:11224578
文档2:
multiValuedData:56,74,62,10
sortedConcatenatedSingleValue:10566274
如果你不能从产生源的数据,那么你可以使用脚本变压器(时间创建此singlvalue领域https://wiki.apache.org/solr/DataImportHandler#ScriptTransformer )在指数使用时间创建此sortedConcatenatedSingleValue场javascript函数。
如果这个问题是实现你可以只使用,如门票的说明。 但它并不像呢。
所以,你可以做的一件事就是指数的附加字段min_code
,非多值,并把最低值custom_code
在那里。 你可以做的是,在客户端或Solr中的UpdateRequestProcessor。 然后,你只是排序上min_code
你可以在箱子外面在5.3 - https://issues.apache.org/jira/browse/SOLR-2522
一个很好的描述是在这里- https://lucidworks.com/blog/2015/09/10/minmax-on-multivalued-field/