Вложенный документ с использованием ContentStreamUpdateRequest - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь добиться ниже вложенной структуры документа в 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?.

...