Мой вариант использования - индексировать 2 файла: файл метаданных и двоичный файл PDF для уникального идентификатора solr. Файл метаданных имеет содержимое в форме файла XML, и некоторые поля схемы сопоставляются с элементами в этом файле XML.
Что я делаю: извлекать содержимое из файлов PDF (используя pdftotext), обрабатывать это содержимое и извлекать конкретную информацию (пример: первая страница / строка PDF содержит информацию о лекарстве, стадии исследования). Полученная информация (медицина / стадия исследования) должна быть проиндексирована, и у нее должна быть возможность поиска / сортировки / фасета.
Я могу создать файл XML с полученной информацией (назовем это файлом метаданных). Теперь предположим, что моя схема будет
<field name="medicine" type="text" stored="true" indexed="true"/>
<field name="researchStage". ../>
Есть ли способ поместить этот файл метаданных и файл PDF в Solr?
Что я пробовал:
Основываясь на предложении в архивах, я сжал эти файлы и передал ExtractRequestHandler. Мне удалось поместить весь контент в SOLR и сделать его доступным для поиска. Но это выглядит как содержимое zip-файла. (Мне пришлось применить некоторые исправления к базе кода Solr, чтобы эта работа работала). Но этого недостаточно, поскольку содержимое файла метаданных не сопоставляется с именами полей.
curl "http://localhost:8983/solr/update/extract?literal.id=doc1&commit=true" -F" myfile=@file.zip "
Я пытался работать с DataImportHandler (binURLdatasource). Но я не думаю, что понимаю, как это работает. Так что далеко ходить не могло.
Я думал о добавлении тегов метаданных в сам PDF. Чтобы это работало, ExtractrequestHandler должен обработать эти метаданные. Я тоже не уверен в этом.
Поэтому я попытался «pdftk» добавить метаданные. Не удалось добавить пользовательские теги к нему. Он только обновляет / добавляет заголовок / автора / ключевые слова и т. Д. Кто-нибудь знает аналогичный инструмент Unix.
Если у кого-то есть советы, пожалуйста, поделитесь.
Я хочу избежать создания 1 файла (путем слияния PDF текст + файл метаданных).