2016-08-04 99 views
0

所以我有兩個表在我的數據庫。查詢一個特定的多值字段爲主要實體

  1. user(user_id pk,user_name,...)。
  2. education(id pk,user_id,college_name)。

以下是solr存儲的索引數據。

docs": [ 
     { 
     "name": "Deepesh", 
     "id": "1", 
     "college_name": [ 
      "Jamnakhal", 
      "Messmore", 
      "IMS" 
     ], 
     "_version_": 1541716111356067800 
     }, 
     { 
     "name": "Uniyal", 
     "id": "2", 
     "college_name": [ 
      "J. I. C.", 
      "ABC", 
      "BCD" 
     ], 
     "_version_": 1541716111356067800 
     }, 

完整的數據搜索就可以了,但現在我有更多的1個需求量的爲college_name自動填充搜索框,所以我用EdgeNGramFilterFactory是SOLR爲college_name列,還多值是真實的。

但是現在當我試圖搜索J時,它將返回與用戶對應的所有學院名稱的數組。

這是好的,我已經在solr中存儲了數據。 但我怎麼能解決我的第二個問題的自動填充,如果我搜索大學的名字J那麼它應該只返回我大學的名字。

文檔 「:[{ 」college_name「: 」Jamnakhal「 」 版本 「:1541716111356067800 },{ 」college_name「:」 J. IC 「 」 版「:1541716111356067801 },

回答

0

Solr的回報相匹配的文件,在上述情況下,如果collage_name匹配Jamnakhal那麼這將返回文檔1或spacefic場不僅Jamnakhal

+0

那麼,如何。我能做到嗎?如果我們只需要不同的大學名稱。 –

相關問題