Я пытаюсь добиться ниже вложенной структуры документа в solr, используя ContentStreamUpdateRequest. Его представляют документ и его метаданные.
{
"id": "1235",
"title": "test",
"sourcemetadata": [{
"id": "455"
}, {
"size": "455"
}],
"content": "this is the content"
}
Я использую Solr 8.1.1 в Windows Machine
Но когда я использовал ContentStreamUpdateRequest, я не могу загрузить
документ для решения. Его выбрасывание ошибки
отсутствует обязательное поле: sourcemetadata.id
Ниже кода Java, который я использовал.
ContentStreamUpdateRequest contentStreamUpdateRequest = new ContentStreamUpdateRequest("/update/extract?fmap.content=content&commit=true");
ModifiableSolrParams params = new ModifiableSolrParams();
params.add("literal.id","5632");
params.add("literal.sourcemetadata.id","567");
params.add("literal.sourcemetadata.size", String.valueOf(file.length()));
contentStreamUpdateRequest.setParams(params);
Schema.xml
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="content" type="text_general" indexed="true" stored="true" multiValued="false"/>
<field name="title" type="string" indexed="true" stored="true" required="false"/>
<field name="sourcemetadata" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="sourcemetadata.id" type="string" indexed="true" stored="true" required="true"/>
<field name="sourcemetadata.size" type="string" indexed="true" stored="true" required="true"/>
Может ли кто-нибудь помочь мне, как написать вложенные документы в solr, используя ContentStreamUpdateRequest?.