我想将Json
数据存储为字段的值,目前我已尝试将该字段类型保留为string
或text
,这很好,但Json存储在字符串,因此双引号(")
在其中进行转义,因此需要为Json对象保留哪种字段类型?
例如,假设我的字段是Thumbnail
,它应该存储并显示为json对象而不是像下面的字符串
"Thumbnail": {
"Url": "http://www.example.com/image/481989943",
"Height": 125,
"Width": "100"
}
答案 0 :(得分:6)
您可以将其存储为String。您所面临的问题 - 我假设 - 是您希望将该JSON作为Solr JSON响应中的结构返回的时间。默认情况下,Solr不知道您希望嵌入内容而不是目前。
要告诉它,请尝试在 fl 参数中使用[json] document transformer。
答案 1 :(得分:0)
String
类型将单词/句子存储为精确字符串而不执行标记化等。通常用于存储精确匹配,例如,用于分面。
Text
通常执行tokenization
和二次处理(例如下限等)。当你想匹配一个句子的一个单词时,更有用。
使用文本,您可以使用solr
提供的标记生成器和过滤器,以便创建更有用的标记,以便进行正确的搜索。
我建议将其存储为text
。
tokenize
对Json
数据有帮助,对搜索也有帮助。
另外,如果它是text
,它的尺寸会更大,并且可能会变得更大,因此再次存储为string
而不是$seconds = strtotime($_POST['date2']) - strtotime($_POST['date1']);
会很有帮助。