2017-03-15 68 views
0

我有一个多值字段的Solr文档,并且需要它的不同值。我必须根据不同的字段进行过滤,但是我的结果不需要包含除了不同类别以外的任何内容。Solr独特的多值字段

文件:

{CountryCode: 'US', Product:'A', Categories:[1,2,3]}, 
{CountryCode: 'US', Product:'B', Categories:[1,3,77,88]}, 
{CountryCode: 'JP', Product:'B', Categories:[1,2]} 
{CountryCode: 'JP', Product:'B', Categories:[444,555]} 

只COUNTRYCODE = '美国' 过滤器

结果:

{[1,2,3,77,88]} 

我试着场崩溃/分组,但它不能在多工作价值领域。

我试过条款(感谢Persimmonium的建议),但它不想过滤只有'美国'类别。条款给出了一个类别发生多少次的事实是奖金,但在这种情况下不需要。

有什么建议吗?

回答

1

在您的评论后编辑。实现这一

的方法之一是:

  • 一个FQ获取一组文档你是在分类兴趣
  • 那么小的,设置“限制”高到足以让所有的值

一个更奇怪的方式可能会使用Streaming Expressions。但刻面更简单。

+0

谢谢。玩过它。我试图先通过另一个字段过滤文档,但看起来并不支持。例如每个文档都有一个countryCode,我只想从这些 – zeeqzaq

+0

中选择一个,因此,您需要:1.使用fq获取一些文档2.然后只在返回的文档中获取字段的所有唯一值,是正确的?这是一个不同的故事...会想我有一段时间 – Persimmonium

+0

正确 - 我会添加更多的细节到我原来的帖子 – zeeqzaq