1

我有一小组描述性元数据(约 50 个),每个元数据都有一个相应的全文文件(.txt)。我的理解是 Apache Tika 框架用于从各种类型的文档中检测和提取元数据和结构化文本。但是,我还需要实现一个链接机制,从而将给定的元数据与其全文匹配。这可以在 Solr 中完成吗?

谢谢,

伊拉里亚

4

1 回答 1

3

如果您有元数据和文档内容,您可以索引元数据并存储内容。您的字段定义看起来像这样

<field name="filename" type="text" indexed="true" stored="true"/>
... <!-- other metadata /-->
<field name="content" type="text" indexed="false" stored="true"/>

这将允许您通过任何元数据进行搜索,并将内容返回给您。您可以根据需要添加尽可能多的元信息来搜索文本。我不会索引全文,因为已经有一些结构化的元数据可用。

Apache TIKA 从 HTML 页面等中提取元信息。由于您已经拥有可用的元数据,因此您无需使用 TIKA。此外,AFAIK,Tika 不适用于纯文本文件。

编辑 1

好的,所以元数据和内容之间的链接将在 Solr 中维护。例如,如果你有

File1.txt <-> Metadata1.txt

您可以在 Solr 中有一个记录(文档),它具有(元数据字段数 + 1 个纯文本内容字段)。这使您可以灵活地通过任何元数据查找文档。例如,

q=filename:File1.txt

或者

q=filesize:[1 to 100]

wherefilenamefilesize是示例元数据字段。plaintextcontent将是您的文本文件内容,因此在您的 Solr 模式中,您有您的链接。

现在的诀窍是设置索引。这是一种方法 -

索引文本文件非常简单。您可以使用DataImportHandler 的 PlainTextEntityProcessor

将元数据与它一起索引可能有点棘手(需要了解元数据的结构)。您可以使用LineEntityProcessor或 DataImportHandler 的任何一个转换器,具体取决于最适合您的。

于 2013-08-15T11:29:17.303 回答