2016-11-01 7 views
0

이미 색인을 만들었으며 데이터베이스에 MySQL 데이터가 들어 있습니다. 나는 내 테이블에 string 인 필드를 몇 개 가지고 있는데, 다른 테이블 (integer & double)을 Elasticsearch에 입력해야합니다.Elasticsearch에서 매핑을 통해 인덱스의 기존 필드를 업데이트 할 수 있습니까?

그래서 나는 다음과 같이 내가 mapping을 통해 그것을 할 수 있다는 것을 알고 있어요 :

{ 
    "mappings": { 
    "my_type": { 
     "properties": { 
     "userid": { 
      "type": "text", 
      "fielddata": true 
     }, 
     "responsecode": { 
      "type": "integer" 
     }, 
     "chargeamount": { 
      "type": "double" 
     } 
     } 
    } 
    } 
} 

하지만 새와 같은 인덱스를 만드는거야 때이 시도했습니다. 내가 알고 싶었던 것은 mappingPUT으로 사용하여 기존 필드 (즉,이 시나리오에서는 chargeamount)를 업데이트 할 수 있습니까?

이것이 가능합니까? 어떤 도움을 주셔서 감사합니다.

답변

1

매핑 유형을 만든 후에는 업데이트 할 수있는 것에 매우 제약을받습니다. official documentation에 따르면, 유일한 변화는 다음과 같은,하지만 필드의 유형은 그들 중 하나가 아닌 변화가 생성 된 것 후 기존 매핑 할 수 있습니다 : 일반적으로

, 기존 필드에 매핑 될 수 없습니다 업데이트되었습니다. 거기에 몇 가지 예외가 있습니다. 예 :

  • 새 속성을 Object 데이터 유형 필드에 추가 할 수 있습니다.
  • 새 필드를 기존 필드에 추가 할 수 있습니다.
  • doc_values를 사용하지 않도록 설정할 수는 있지만 사용하지 않도록 설정할 수는 있습니다.
  • ignore_above 매개 변수를 업데이트 할 수 있습니다.