2012-07-13 67 views
5

我遇到了一个问题,其中一列是多值的。例如:值可以是(11,22)(11,33)(11.55),(22,44),(22,99)SOLR中的多值属性组合

我想执行分组操作,将产生:

  • 11:计数3
  • 22:计数3
  • 33:1
  • 44:1
  • 55:1
  • 99:1

回答

4

一种间接的方式实现这一目标是复制对应于具有空间或文本字段它们之间的一些其它字符这一领域的所有值,然后用该字符(在空间的情况下使用whitespace tokenizer)令牌化这个领域。然后你可以使用group by,我相信这应该起作用。

+0

我们该如何做到这一点。我是一个新手:-( 你能给我一个例子 – 2012-07-13 10:15:56

+0

我相信你必须使用一些脚本来做索引索引..小孩说你在这里描述的领域是'kid_multivaued',所以我的意思是你索引时创建另一个字段,让我们说'kid_combined'将所有'kid_multivalued'的值复制到'kid_combined'并在它们之间留有空白,所以如果kid_multivalued是(11,55)kid_combined将变成'11 55'并且这个kid_combined应该使用whitesapce tokenizer进行标记,可以在schema.xml中设置它的字段类型定义,然后如果你尝试使用这个字段进行分组,你可以得到想要的结果 – 2012-07-13 11:32:32

+0

你能否给我提供solr的链接文档 我无法找到任何好的在线信息 – 2012-07-13 17:52:07

4

多值字段不能在Solr中分组。

Documentation: -

支持在多值字段分组尚未被 实现。

+0

已经有一段时间了,Solr 4.8.x是否支持这个功能? – wakeup 2014-05-23 17:11:46

+0

@wakeup:没有AFAIK! – 2014-06-07 10:31:43