Java Apache Solr无法存储嵌套的JSON数据
我试图使用文档上传部分将以下数据加载到现有的SOLR6.6内核中Java Apache Solr无法存储嵌套的JSON数据,java,json,apache,solr,solr6,Java,Json,Apache,Solr,Solr6,我试图使用文档上传部分将以下数据加载到现有的SOLR6.6内核中 { "id": "1234", "nationality":"India", "phonenumber":"232323", "personname":"babu rao", "paid":"credi card", "status":"success", "access" :[ {"port":"port1","gate":"Gate1"} ],
{
"id": "1234",
"nationality":"India",
"phonenumber":"232323",
"personname":"babu rao",
"paid":"credi card",
"status":"success",
"access" :[
{"port":"port1","gate":"Gate1"}
],
"approved_by":[
{"name":"appr1","date":"2006-11-30"},
{"name":"appr2","date":"2006-11-30"}
]
}
此项的架构为
<field name="created_date" type="tdate" indexed="true" stored="true" />
<field name="passType" type="string" indexed="true" stored="true" />
<field name="duration" type="int" indexed="true" stored="true" />
<field name="nationality" type="string" indexed="true" stored="true" />
<field name="phonenumber" type="string" indexed="true" stored="true" />
<field name="personname" type="string" indexed="true" stored="true" />
<field name="paid" type="string" indexed="true" stored="true" />
<field name="passamount" type="float" indexed="true" stored="true" />
<field name="status" type="string" indexed="true" stored="true" />
<field name="approved_by" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="approved_by.name" type="string" indexed="true" stored="true" />
<field name="approved_by.date" type="tdate" indexed="true" stored="true" />
<field name="access" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="access.port" type="string" indexed="true" stored="true" />
<field name="access.gate" type="string" indexed="true" stored="true" />
请求您的帮助以解决此问题。\u childDocuments\ukey需要用JSON表示嵌套文档。我已经更新了文档,现在它将被索引
{
"id": "1234",
"nationality":"India",
"phonenumber":"232323",
"personname":"babu rao",
"paid":"credi card",
"status":"success",
"_childDocuments_" :[
{"id":456,"port":"port1","gate":"Gate1"},
{"id":786,"name":"appr1","date":"2006-11-30"},
{"id":232,"name":"appr2","date":"2006-11-30"}
]
}
您还需要更改schema.xml。
[Schema.xml]
有关更多信息,请查看Yonik的这篇文章:-
{
"id": "1234",
"nationality":"India",
"phonenumber":"232323",
"personname":"babu rao",
"paid":"credi card",
"status":"success",
"_childDocuments_" :[
{"id":456,"port":"port1","gate":"Gate1"},
{"id":786,"name":"appr1","date":"2006-11-30"},
{"id":232,"name":"appr2","date":"2006-11-30"}
]
}
<field name="created_date" type="tdate" indexed="true" stored="true" />
<field name="passType" type="string" indexed="true" stored="true" />
<field name="duration" type="int" indexed="true" stored="true" />
<field name="nationality" type="string" indexed="true" stored="true" />
<field name="phonenumber" type="string" indexed="true" stored="true" />
<field name="personname" type="string" indexed="true" stored="true" />
<field name="paid" type="string" indexed="true" stored="true" />
<field name="passamount" type="float" indexed="true" stored="true" />
<field name="status" type="string" indexed="true" stored="true" />
<field name="name" type="string" indexed="true" stored="true" />
<field name="date" type="tdate" indexed="true" stored="true" />
<field name="port" type="string" indexed="true" stored="true" />
<field name="gate" type="string" indexed="true" stored="true" />