如何在ElasticSearch中将多个BIG附件摄取/推送到索引文档的array属性中?

时间:2018-07-19 17:28:01

标签: amazon-web-services elasticsearch

我正在尝试找出将单个文档的多个附件索引到Elasticsearch Index中的解决方案。

我在服务(使用AWS)方面有一些限制,即每个POST的HTTP请求最大限制为100MB。

基本上,我在ES索引中有个人资料,对于每个个人资料,我想存储多个可搜索的附件,例如,最多50 x 10MB pdf 该要求限制了我的方法,因为我无法向ES发送总共500 MB的数据。

方法之一是进行某种部分更新,但是仍然如何通过将NEW附件推到现有附件的数组来进行“部分更新”? 也许一些扁平化的附件索引并参考我的主要索引以找出配置文件?

我还必须支持结果高亮显示,所以对我来说最好的方法是进行如下映射:

Stream<String>

但是正如我之前所说:

  • 我无法一次提取所有附件。
  • 我不知道如何以及是否可以使ATTACHMENT PUSH成为 { "directory.index.v7": { "mappings": { "profile.event": { "properties": { "attachments": { "properties": { "attachment": { "properties": { "content": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "content_length": { "type": "long" }, "content_type": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "date": { "type": "date" }, "language": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "data": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "filename": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "email": { "type": "text", "fields": { "raw": { "type": "keyword" } } } } } } } } 属性,但不包含较旧的文档(无法访问 POST的限制)

请告知!

0 个答案:

没有答案