如何使用spring数据elasticsearch禁用_source字段

时间:2016-04-21 09:11:13

标签: spring elasticsearch spring-data spring-data-elasticsearch

在弹性搜索中,我可以禁用_source字段,如: -

  PUT tweets
    {
      "mappings": {
        "tweet": {
          "_source": {
            "enabled": false
          }
        }
      }}

如何使用spring data-elasticsearch实现这一目标?

1 个答案:

答案 0 :(得分:0)

我们可以通过以下方式进行映射: -

1)硬编码2)可以从属性文件中读取3)使用Xcontentbuilder构建它

我们可以使用spring数据提供的ElasticsearchTemplate类来执行此操作,如: -

           if (!elasticsearchTemplate.indexExists(esIndex)) {
                elasticsearchTemplate.createIndex(esIndex);
                elasticsearchTemplate.putMapping(esIndex, esType,mappingObject);
             }

此mappingObject是从属性文件中读取的字符串。 它可以是这样的: -

es-configs.properties

mapping={"_source": {"includes": [ "id","name","marks","grade"],"excludes": ["contact_info","phone_num"]}}

在这种情况下,我们会排除字段 contact_info phone_num 。因此,这些字段不会包含在索引的_source中。 当我们使用spring数据elasticsearch时就是这种情况。 如果您没有使用spring数据,那么我们也可以使用Xcontentbuilder。