신축성있는 검색 서버를 1.4에서 2.X로 업데이트 할 준비를하고 있습니다. 제공된 도구 (https://github.com/elastic/elasticsearch-migration/tree/1.x)로 마이그레이션을 준비했으며 매핑 충돌이 있습니다.신축성 1.4에서 2.x로 전환
충돌하는 필드 매핑 :
$ curl -XGET /_mapping/nginx_access/field/timestamp?pretty { "timestamp" : { "full_name" : "timestamp", "mapping":{"timestamp":{"type":"string","norms":{"enabled":false},"fields":{"raw":{"type":"string","index":"not_analyzed","ignore_above":256}}}} } }
$ curl -XGET /_mapping/nginx_error/field/timestamp?pretty { "timestamp" : { "full_name" : "timestamp", "mapping":{"timestamp":{"type":"date","format":"yyyy/MM/dd HH:mm:ss||yyyy/MM/dd"}} } }
은 내가 매핑 유형을 변경할 수 없습니다 이해, 그래서 다음을 수행해야합니다 Mapping for field nginx_access:timestamp conflicts with: nginx_error:timestamp. Check parameters: format, norms.enabled, type
효과적으로, 형식이 다릅니다 새 맵핑으로 인덱스를 다시 작성하십시오. 그러나 (동적으로?) 매핑을 생성하는 Logstash이고 내 측면에는 그 구성이 없습니다. 색인을 생성하고 색인 생성하기 전에 즉시 단일 매핑 유형을 변경할 수 있습니까? 나는 실제로, 어떻게 실제로 보지 않는다. 인덱스를 다시 작성하는 것은 꽤 복잡한 것처럼 보입니다 (많은 다른 매핑이있는 다른 많은 문서 유형이 있습니다).
이전 색인을 한 번에 업데이트하고 싶습니다. 모든 타임 스탬프의 형식이 같은 것이 좋습니다.
가장 간단한 솔루션은 무엇입니까? 이 작업을 자동으로 수행하는 플러그인이 있습니까? (1.4 개정판의 경우)
고마워!