我使用 ElasticSearch 来索引资源。我为每个索引资源创建文档。每个资源都可以包含元数据和二进制文件数组。我决定处理这些带有附件类型的二进制文件。元数据映射到字符串类型的简单字段。二进制文件映射到附件类型的数组字段(名为的字段attachments
)。一切正常 - 我可以根据二进制文件的内容找到我的资源。
我使用的另一个 ElasticSearch 功能是突出显示。我设法成功地为元数据和二进制文件配置了突出显示,但是......
当我询问我的attachments
字段的突出显示片段时,我只会得到这些文件的片段,而没有关于片段来源的任何信息(附件数组字段中有很多文件)。我需要突出显示的片段和附件数组元素之间的映射 - 例如文件名或至少数组中的索引。
我得到什么:
"attachments" => ["Fragment <em>number</em> one", "Fragment <em>number</em> two"]
我需要的:
"attachments" => [("file_one.pdf", "Fragment <em>number</em> one"), ("file_two.pdf", "Fragment <em>number</em> two")]
如果没有这样的映射,应用程序的用户知道特定资源包含带有关键字的文件,但没有关于文件名的指示。
是否有可能使用 ElasticSearch 实现我所需要的?如何?
提前致谢。