Как создать вложенные объекты JSON в SOLR? - PullRequest
0 голосов
/ 13 сентября 2018

Я сбрасываю данные в базу данных SOLR.Ранее я использовал Elastic Search, и он позволял мне хранить вложенные объекты JSON.

Есть ли способ динамически создавать вложенные значения JSON при вставке в SOLR?

Я использую 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"
 }
}

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

вы можете использовать addChildDocument , чтобы добавить вложенный документ в родительский.Таким образом, код будет:

SolrInputDocument document = new SolrInputDocument();
document.addField("UUID", eventID);
document.addField("eventCategory", eventCategory);
...
SolrInputDocument child = new SolrInputDocument();
...
document.addChildDocument(child);
0 голосов
/ 13 сентября 2018

Solr - это коллекция документов с плоской схемой.Вы можете добавить динамическое поле в solr, но оно не поддерживает вложенный объект JSON.

Но вы можете использовать вложенные документы, указанные в следующем ресурсе.

https://lucene.apache.org/solr/guide/6_6/uploading-data-with-index-handlers.html

Но запросына дочерних документах не так просто, как ElasticSearch или MongoDB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...