2017-03-15 70 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