Solr:您能否将整个文档分配给单个字段(文档中找不到的字段)



我必须将许多不同的文档(xls,pptx,txt,csv,pdf)放入solr核心中。 所有文档都是非结构化且不相关的。 我想做这样的事情:

{
    'filename':'doc1',
    'content': entire doc
}

在这种情况下,filename不是实际文档中的标记,而是由用户分配的,content也不是在实际文档中,将映射到整个索引文档。

我计划通过 python 脚本进行处理,虽然有一些工具可以从富文本文档中提取文本,但我宁愿将它们传递给 solr 并让 solr 忽略它们的内部标签(例如在 pdf 中)并将整个文档映射到上述模式的 contents 标签。

总而言之,如何创建一个包含目标文档中找不到的两个字段的架构,并为整个文档编制索引并将其映射到其中一个字段 ( text_en )? 我对solr有点陌生,所以我的词汇可能有点模糊,所以如果你不确定我想要达到什么目的,请要求澄清。

Solr 中的 Tika 模块具有配置选项,应该能够执行您想要的操作:

literal.:使用为每个文档提供指定值的名称填充字段。数据可以是 多值(如果字段是多值)。

因此,如果添加名为 literal.filename=doc1 的参数,则会在文档的filename中添加doc1

还有一个忽略架构中不存在的所有字段的示例:

uprefix:使用给定前缀为架构中未定义的所有字段添加前缀。这在与动态结合使用时非常有用 字段定义。示例:uprefix=ignored_将有效地忽略 给定示例架构的 Tika 生成的所有未知字段包含 <dynamicField name="ignored_*" type="ignored"/>

要将字段移动到其他字段名称中:

fmap.:将一个字段名称映射(移动)到另一个字段名称。source_field必须是传入文档中的字段,并且 值是要映射到的 Solr 字段。示例:fmap.content=text原因 Tika 生成的content字段中的数据将移动到 索尔的text领域

最后一个提示 - 完全自定义处理,但仍使用可用的 Solr 服务器和 Tika 来处理文档(然后在索引之前进一步揉捏数据):

仅提取:默认值为 false。如果为 true,则返回从 Tika 提取的内容,而不为文档编制索引。(另见 提取格式

最新更新