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, используя ту же конфигурацию, и теперь она работает. Я считаю, что эта проблема может быть вызвана целым рядом факторов, но наиболее заметным было обновление с Tika 1.5. -> Тика 1.7 между 4.10.3 и 5.0.0

Если кто-нибудь может подтвердить, прежде чем я продвинусь вперед с этим.


person Ryan    schedule 26.02.2015    source источник


Ответы (1)


У меня была использованная Tika с Solr, и ниже приведены мои данные-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> 

person Abhijit Bashetti    schedule 27.02.2015
comment
Не могли бы вы подтвердить, используете ли вы solr 5 или более старую версию? - person Ryan; 16.03.2015
comment
Я работал на старой версии. Кажется, есть проблема с solr 5 issues.apache.org/jira/browse/SOLR -7174 - person Abhijit Bashetti; 16.03.2015