我正在使用Solr 3.6来索引许多不同类型的文档。我有几个字段定义所有文档的公共信息,其中一个是“日期”(理想情况下是最后修改日期,只是表示文档最近的时间。)
<field name="date" type="date" indexed="true" stored="true" required="true" />
尝试索引.docx和.pdf等富文本文档时出现问题。我想使用从ExtractingRequestHandler获取的元数据填写日期字段,但是我想要存储的日期信息的字段名称对于每个文件是不同的。有时,我想要的字段是“日期”,其他时间是“last_modified”或“last_save_date”。我试图使用'last_modified'在处理程序中提供日期:
<str name="fmap.last_modified">date</str>
..但这会导致日期为多值(因为有'日期'元数据)或未定义(因为'last_modified'不存在)的问题。我研究了使用条件copyField来尝试从这些字段中的至少一个中提取数据,但这似乎很复杂(即扩展更新处理程序),并且还要求我知道可能包含此日期信息的每个可能字段的名称。
有没有办法可以从我处理的每个富文本文档中可靠地提取日期?