Solr 5.0 Tika TikaEntityProcessor索引一个文档



我有很多文档存储在一个文件夹中,我正在使用tika定期将它们导入Solr。

data-import.xml文件为:

<dataSource name="tika" type="BinFileDataSource" />
    <document>
        <entity dataSource="tika" name="files" rootEntity="false"
            processor="FileListEntityProcessor"
            baseDir="/home/user/public_html/files" fileName=".*.(doc)|(pdf)|(docx)"
            onError="skip"
            recursive="true">
                <field column="fileAbsolutePath" name="id" />
                <field column="fileSize" name="size_i" />
                <field column="fileLastModified" name="lastModified_s" />
                <entity
                    name="documentImport"
                    processor="TikaEntityProcessor"
                    url="${files.fileAbsolutePath}"
                    format="text"
                    dataSource="tika">
                    <field column="file" name="fileName_s"/>
                    <field column="Author" name="author_s" meta="true"/>
                    <field column="title" name="title_s" meta="true"/>
                    <field column="text" name="details_s"/>
                    <field column="text" name="_text"/>
                </entity>
        </entity>
    </document>
</dataSource>

目前发生的情况是solr正在读取所有文件,但它实际上只处理第一个文件,似乎一旦导入第一个文件后,文档指针就会设置为#2,并且在其余文件中保持为空。这似乎只在填充的文档上增加。

这是导入字段时solr的输出,正如您在第一个文件中看到的那样,导入文档#1(D#1)和文档#2(D#2)已创建,D#1有内容,D#2为空。

在任何后续行上,D#1都没有创建,但D#2是并且保持为空。

  "----------- row #1-------------",
  "fileSize",
  2161971,
  "fileLastModified",
  "2013-06-27T15:40:17Z",
  "fileAbsolutePath",
  "/home/user/public_html/files/test1.pdf",
  "fileDir",
  "/home/user/public_html/files",
  "file",
  "test1.pdf",
  null,
  "---------------------------------------------",
  "entity:documentImport",
  [
    "document#1",
    [
      "query",
      "/home/user/public_html/files/test1.pdf",
      "time-taken",
      "0:0:0.0",
      null,
      "----------- row #1-------------",
      "text",
      "blah! testing.",
      "title",
      "testing",
      "Author",
      "user",
      null,
      "---------------------------------------------"
    ],
    "document#2",
    []
  ],
  null,
  "----------- row #2-------------",
  "fileSize",
  567396,
  "fileLastModified",
  "2014-02-17T14:46:55Z",
  "fileAbsolutePath",
  "/home/user/public_html/files/test2.pdf",
  "fileDir",
  "/home/user/public_html/files",
  "file",
  "test2.pdf",
  null,
  "---------------------------------------------",
  "entity:documentImport",
  [
    "document#2",
    []
  ],

有人能告诉我如何重置documentImport上的指针吗?或者我如何让它导入所有文件而不是一个文件?

非常感谢

更新#1:我已经使用相同的配置安装了Solr 4.10.3,它现在正在运行,我相信这个问题可能是由多种因素造成的,但最引人注目的是在4.10.3和5.0.0 之间从Tika 1.5升级到Tika 1.7

如果有人能在我继续做这件事之前确认一下。

我在Solr中使用了Tika,下面是我的data-config.xml

<dataConfig>  
<dataSource name="bin" type="BinFileDataSource" />
    <document>
        <entity name="files" dataSource="null" rootEntity="false"
        processor="FileListEntityProcessor"
        baseDir="/home/user/public_html/files" fileName=".*.(doc)|(pdf)|(docx)"
        onError="skip"
        recursive="true">
            <field column="fileAbsolutePath" name="id" />
            <field column="fileSize" name="size" />
            <field column="fileLastModified" name="lastModified" />
            <entity
                name="documentImport" dataSource="bin"
                processor="TikaEntityProcessor"
                url="${files.fileAbsolutePath}"
                format="text" onError="skip">
                <field column="file" name="fileName"/>
                <field column="Author" name="author" meta="true"/>
                <field column="title" name="title" meta="true"/>
                <field column="text" name="text"/>
            </entity>
    </entity>
    </document> 

相关内容

  • 没有找到相关文章

最新更新