Solr DIH regextransformer - обрабатывает только одну линию CSV

Привет у меня есть следующий файл CSV

132 1536130302256087040
133 1536130302256087041
134 1536130302256087042

поля разделены вкладкой. Теперь у меня есть Dataimporthandler (DIH) для solr, и я пытаюсь импортировать CSV в solr, но я получаю только первую строку в solr. Это результат, но другие строки из CSV отсутствуют:

  "response": {
    "numFound": 1,
    "start": 0,
    "maxScore": 1,
    "docs": [ {
        "string": "1536130302256087040",
        "id": "132",
        "_version_": 1536202153221161000
      } ] }

Вот мой data-config.xml

<dataConfig>
<dataSource type="FileDataSource" encoding="UTF-8" name="fds"/>
    <document>

     <entity name="f" 
     processor="FileListEntityProcessor" 
     fileName="myfile.csv" 
     baseDir="/var/www/solr-5.4.0/server/csv/files" 
     recursive="false" 
     rootEntity="true" 
     dataSource="null" >

     <entity 
     onError="continue" 
     name="jc"   
     processor="LineEntityProcessor" 
     url="${f.fileAbsolutePath}" 
     dataSource="fds"  
     rootEntity="true" 
     header="false"
     separator="\t"
     transformer="RegexTransformer" >

     <field column="id" name="id" sourceColName="rawLine" regex="^(.*)\t"/>
     <field column="string" name="string" sourceColName="rawLine" regex="\t(.*)$"/>

             </entity>            
        </entity>
    </document>
</dataConfig>

Вот мой schema.xml

<field name="id" type="text_general" indexed="true" stored="true" multiValued="false" required="true"/>
<field name="string" type="text_general" indexed="true" stored="true" multiValued="false"/>
<field name="_version_" type="long" indexed="true" stored="true"/>

 <uniqueKey>id</uniqueKey>

Что я делаю не так?

1 ответ

У вас есть rootEntity=true для обоих уровней сущностей. Таким образом, вы получите только один документ для внешней сущности. Попробуйте установить для внешнего уровня rootEntity значение false.

Кроме того, вы можете просто отправлять разделенные табуляцией файлы в Solr с процессором CSV, DIH не требуется.

Другие вопросы по тегам