2016-09-08 60 views
2

我想存儲Json數據作爲一個字段的值,目前我已經嘗試保持該字段類型爲stringtext,這很好,但Json存儲在字符串中,因此雙引號(")在內部轉義,所以Json對象需要保留哪些字段類型?什麼是用於存儲JSON對象的Solr字段類型?

例如,假設我的字段是Thumbnail並且應該被存儲和顯示爲JSON對象而不是象下面

"Thumbnail": { 
       "Url": "http://www.example.com/image/481989943", 
       "Height": 125, 
       "Width": "100" 
      } 
+0

如果你想查詢JSON文檔的字段,你可能會發現這有幫助http://stackoverflow.com/questions/5584857/solr-documents-with-child-elements – cheffe

回答

4

您可以將其存儲爲字符串。您正面臨的問題 - 我假設 - 是您想要在Solr JSON響應中返回該JSON作爲結構的問題。默認情況下Solr不知道你想嵌入的內容而不是目前它。

要告訴它,請嘗試在您的fl參數中使用[json] document transformer

+0

謝謝@AlexandreRafalovitch!你認爲它是完美的...但是我在找到答案之前找到了解決方案......無論如何,我正在尋找完美的答案。 –

0
String

類型存儲一個單詞/句子作爲一個確切的字符串的字符串,而不執行標記化等。常用用於存儲精確匹配,例如用於分面。

Text通常執行tokenization和二次處理(例如下殼等)。當你想匹配作爲該句子一部分的單詞時更多用途。

通過使用文本,您可以使用由solr提供的標記器和過濾器,以便創建更有用的標記以便進行正確的搜索。

我建議將它作爲text存儲。

這對你有用tokenize數據可以幫助您查找。

另外,作爲它的一個Json,這將是規模更大,可以生長在規模更大,所以又可以幫助存儲爲text,而不是string