2015-05-07 112 views
1

我有一個List<String>屬性名對象Foo Solr中以逗號分隔的列表:搜索使用Spring引導

class Foo { 
    List<String> names = [] 
} 

在我的Solr的schema.xml,我把它設置爲一個字符串:

<field name="names" type="string" indexed="true" stored="true"/> 

我再努力就可以了,在這裏,只要任何一個值的匹配列表中的任何的那些,我希望一擊執行搜索:

new Criteria('names').in(filter.names) 

但是,因爲這些值在Solr中以逗號分隔的字符串存儲,所以我沒有找回任何結果。

有什麼我應該改變,以便能夠拆分或參數化字段到列表中,以便我可以執行我的搜索?

回答

1

一個可能的解決方案是使solr中的字段爲多值。

+0

如果它是以逗號分隔的話,它會成爲一個列表嗎?我認爲multiValued意味着該領域可能只是多次宣佈。 – Igor

+0

是的,這應該在索引時間內處理,以確保存儲在索引中的數據是多值格式。如果您無法在源代碼中更改數據格式,則可以在數據加載期間處理它。 http://stackoverflow.com/questions/16278593/adding-a-multivalued-commas-separated-string-to-solr-isnt-working –

+0

是的,這工作 - 關鍵是要確保字段顯示多個次(而不僅僅是逗號分隔)。 – Igor