Получение метаданных даты с использованием SolrCell

Я использую Solr 3.6, чтобы индексировать много разных типов документов. У меня есть несколько полей, которые определяют общую информацию для всех документов, одним из которых является "дата" (в идеале - дата последнего изменения, просто что-то, чтобы указать, какой документ является последним).

<field name="date" type="date" indexed="true" stored="true" required="true" />

Моя проблема возникает при попытке индексировать документы форматированного текста, такие как.docx и.pdf. Я хочу заполнить поле даты, используя метаданные, которые я получаю из ExtractingRequestHandler, но имя поля, в котором хранится информация о дате, которую я хочу, отличается для каждого файла. Иногда поле, которое мне нужно, это "date", иногда "last_modified" или "last_save_date". Я пытался использовать last_modified для предоставления даты в обработчике:

<str name="fmap.last_modified">date</str>

... но это привело к проблемам, когда дата была либо многозначной (так как были метаданные 'date'), либо неопределенной (потому что 'last_modified' не существовало). Я попытался использовать условные copyFields, чтобы попытаться извлечь данные хотя бы из одного из этих полей, но это кажется сложным (т. Е. Расширение обработчика обновлений) и также потребовало бы, чтобы я знал имя каждого возможного поля, которое может содержать эту информацию о дате.

Есть ли способ надежно извлечь дату из каждого документа в расширенном текстовом формате, который я обрабатываю?

0 ответов

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