FileIystem DataSource的DataImportHandler DIH

时间:2015-01-27 21:23:56

标签: solr datasource dataimporthandler dih lucidworks

我有一个fileSystem数据源,我已经创建了一个dataconfig来运行DIH dataconfig是

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <dataSource type="FileDataSource" />
    <document>
        <entity name="pdf" processor="FileListEntityProcessor" baseDir="/path/to/my/pdf" fileName=".*pdf" newerThan="'NOW-3DAYS'" recursive="true" rootEntity="false" dataSource="pdf">
        </entity>
    </document>
</dataConfig>

当我运行DIH时,它给出了 索引已完成。添加/更新:0个文件。删除了0个文件 请求数:0,提取:35924,跳过:0,已处理:0

知道为什么它没有处理任何文件?

2 个答案:

答案 0 :(得分:1)

您的配置中没有root实体;你只有一个实体,并且它有rootEntity =“false”,因此不会从中创建任何文件。

您还需要定义一些 实体内的“字段”行,用于将文件信息映射到架构中的字段;这个问题indexing all documents in doc folder in to solr FileListEntityProcessor做了类似于你需要的事情。

答案 1 :(得分:1)

谢谢,我做到了,下面是所需的dataconfig

<?xml version="1.0" encoding="UTF-8"?> 
<dataConfig> 
    <dataSource type="BinFileDataSource" /> 
    <document> 
        <entity name="pdf" processor="FileListEntityProcessor" baseDir="/path/to/my/pdf" fileName=".*pdf" newerThan="'NOW-3DAYS'" recursive="true" rootEntity="false" dataSource="null"> 
            <field column="fileAbsolutePath" name="id" /> 
            <entity name="documentImport" processor="TikaEntityProcessor" url="${pdf.fileAbsolutePath}" format="text"> 
                <field column="text" name="text"/> 
            </entity> 
        </entity> 
    </document> 
</dataConfig>