簡體   English   中英

附件類型數組-如何獲取突出顯示的片段的文件名?

[英]Array of attachment type - how to get a filename for highlighted fragment?

我使用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是否可以實現我所需要的? 怎么樣?

提前致謝。

因此,您要在此處存儲文件名。 您是否在json文檔中發送了文件名? 就像是:

{
    "my_attachment" : {
        "_content_type" : "application/pdf",
        "_name" : "resource/name/of/my.pdf",
        "content" : "... base64 encoded attachment ..."
    }
}

如果是這樣,您可能會要求輸入字段my_attachment._name

如果答案不正確,是否可以對問題進行一些細化處理,並提供JSON示例文檔(不包含base64內容)和映射(如果有)?

更新:

當它來自一系列附件時,您將無法從每個文件中獲取它,因為所有文件都在后台變平了。 如果確實需要,則可能需要查看嵌套字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM