使用多种映射类型建立索引

时间:2017-09-28 09:10:02

标签: elasticsearch spring-data-elasticsearch

我有这个映射文件:

{
  "type1": {
    "properties": {
      "id": {
        "type": "string",
        "index": "not_analyzed"
      }
  },
  "type2": {
    "properties": {
      "id": {
        "type": "string",
        "index": "not_analyzed"
      }
    }
  }
}

我使用此映射的类:

@Document(indexName = "cake", type = "type1")
@Mapping(mappingPath = "/elasticsearch/config/mappings.json")
public class TypeOneElasticEntity implements Serializable {
}

@Document(indexName = "cake", type = "type2")
@Mapping(mappingPath = "/elasticsearch/config/mappings.json")
public class TypeTwoElasticEntity implements Serializable {
}

问题在于,当我想索引TypeTwoElasticEntity时,我收到此错误:
根映射定义具有不受支持的参数" type1"
所以我想我必须使用第二个文件。但在这种情况下是否可以将多种类型放在一个文件中?

谢谢!

1 个答案:

答案 0 :(得分:2)

不,一个index type有一个映射。但是,index types将不再受支持且将被弃用。如果您有多个映射,则需要为每个映射创建单独索引