我需要添加multiValued字段,它将是结构。 类似的东西:
其中:
class ComplexPhone [
String area;
String number;
String internal;
String type;
]
我想以json格式从SOLR收到这些数据:
{
"responseHeader": {
"status": 0,
"QTime": 1,
"params": {
"indent": "true",
"q": "*:*",
"_": "1394008742077",
"wt": "json"
}
},
"response": {
"numFound": 1,
"start": 0,
"docs": [
{
"first_name": "Funky",
"last_name": "Koval",
"phone": [
{
"area": "US",
"number": "555-123-456-789",
"internal": "011,
"type": "S",
},
{
"area": "UK",
"number": "1234-5678",
"internal": "9001",
"type": "L",
}
]
"id": 1,
"_version_": 1461724104955527200
}
]
}
}
这只是一个例子(我不想只有电话号码)。
对我来说最重要的是SOLR的响应格式。 我可以用任何简单的格式添加这些数据,如: Funky,Koval,英国; 1234-5678; 9001; L,美国; 555-123-456-789; 011;小号 或
<doc>
<field name="first_name">Funky</field>
<field name="last_name">Koval</field>
<field name="phone">UK; 1234-5678; 9001; L</field>
<field name="phone">US; 555-123-456-789; 011; S</field>
<field name="id">1</field>
</doc>
它可以作为字符串存储在SOLR中。 我需要的只是更复杂格式的响应,然后将平面结构映射到JSON。
任何建议都将受到赞赏。
答案 0 :(得分:2)
Solr支持 multuValued 字段。但它不支持多级数据结构。您无法从Solr获得以下类型的响应。
"phone": [
{
"area": "US",
"number": "555-123-456-789",
"internal": "011,
"type": "S",
},
{
"area": "UK",
"number": "1234-5678",
"internal": "9001",
"type": "L",
}
multiValued字段提供的内容类似于
"phone": [
"UK",
"1234-5678",
"9001",
"L"
]
建议: