我正在SOLR数据库中转储数据。早些时候,我使用Elastic Search,它允许我存储嵌套的JSON对象。
在SOLR中插入时,有什么方法可以动态创建嵌套的JSON值?
我正在使用JAVA作为后端语言。我的代码是:
SolrInputDocument document = new SolrInputDocument();
document.addField("UUID", eventID);
document.addField("eventCategory", eventCategory);
.
.
.
.
document.addField("source", source);
I want something like this:
{
"UUID":"1",
"source":abcd,
"eventCategory": {
"event1":"a",
"event2":"b",
"event3":"c"
}
}
答案 0 :(得分:0)
Solr是平面模式文档的集合。您可以将动态字段添加到solr,但它不支持嵌套的JSON对象。
但是您可以使用以下资源中指定的嵌套文档。
https://lucene.apache.org/solr/guide/6_6/uploading-data-with-index-handlers.html
但是查询子文档并不像ElasticSearch或MongoDB那样简单。
答案 1 :(得分:0)
您可以使用addChildDocument将嵌套文档添加到父文档中。所以代码是:
SolrInputDocument document = new SolrInputDocument();
document.addField("UUID", eventID);
document.addField("eventCategory", eventCategory);
...
SolrInputDocument child = new SolrInputDocument();
...
document.addChildDocument(child);