将base64编码的字符串索引到ElasticSearch的最佳方法

时间:2016-07-27 23:11:52

标签: elasticsearch base64 spring-data-elasticsearch

我正在使用Spring-Data-ElasticSearch将整个对象索引为Elastic中的文档。其中一个字段是用户上传文件的String类型base64编码。

@Document(indexName = "user_record")
public class UserRecord {

    private String base64UserUploadFile;

...

目前这个base64字符串直接索引到Elastic中,因此无法搜索,所以我想知道我的选项是什么,如果我想能够从该文件中搜索实际内容而不必将此字段转换为实际文件我班上的内容字符串?

1 个答案:

答案 0 :(得分:1)

您可能希望使用mapper-attachments插件,并使用Attachment字段类型声明您的字段

@Document(indexName = "user_record")
public class UserRecord {

    @FieldType(type = FieldType.Attachment, store = false)
    private String base64UserUploadFile;

...

这样,Base64内容将被编入索引并可搜索。如果您不想不必要地夸大索引,我建议不要存储内容(因此store=false)。