2014-10-21 3 views
1

나는 indextype입니다. 나는 mappingngram analyzer을 사용했다. 문제는 동일한 index 아래에 mappingngram analyzer을 새로 입력하려고 할 때 오류가 발생하여 색인을 제거하도록합니다.탄성 검색 매핑 문제

그러나 동일한 인덱스에서 새 유형을 계속 추가 할 수 있기 때문에 각 매핑 작업에 대해 새로운 유형의 색인을 제거하지 않으려합니다. 내 색인을 제거하고 모든 문서와 유형을 다시 색인화하면 시간과 데이터가 손실됩니다.

이 문제에 대한 해결책이 있습니까?

+0

색인에 새 유형에 대한 매핑을 추가하는 방법은 무엇입니까? – keety

+0

스크립트로, 여기 : http://pastebin.com/HQCNzY8L – rLyLmZ

+0

위 스크립트에서 인덱스를 닫지 않고는 설정할 수없는 인덱스 설정을 업데이트하려고합니다. – keety

답변

1

기존 색인의 매핑에 새로운 유형을 추가 할 수 있습니다. 이전 유형의 기존 문서를 다시 색인하지 않아도됩니다. update mapping에서 읽을 수 있습니다. 당신이 "TEST"인덱스가 있고 새로운 유형 을 만들려면 예를 들어

"type_new". 당신은 실행할 수 있습니다 다음 당신이 다음 인덱스 설정을 업데이트 닫을 필요가 기존 인덱스에 새로운 분석기를 추가하려고하고 reopen.You 자세한 내용은 update settings 볼 수 있습니다 그러나 경우

curl -XPUT 'http://<server>/TEST/_mapping/type_new' -d ' 
{ 
    "TYPE_NEW" : { 
     "properties" : { 
      "subject" : {"type" : "string", "store" : true } 
     } 
    } 
}' 

을 .

+0

좋은 답변을 보내 주셔서 감사합니다. 그것은 나를 위해 작동합니다. 나는 색인을 더 이상 삭제할 필요가 없다. 하지만 다시 매핑을 원할 때마다 필자의 형식을 제거해야만하는지 궁금합니다. 유형을 삭제하지 않고 다시 매핑 할 수 있습니까? 그렇지 않다면, 나는 당신의 대답을 받아 들일 것입니다. 고마워. – rLyLmZ

+0

curl -XPUT 'http : // /TEST/_mapping/type_new'는 기존 매핑에 새 형식을 추가하지만 이전 형식은 삭제하지 않습니다. 새로운 유형을 추가 한 후에는 curl -XGET의 모든 기존 유형을 확인할 수 있습니다. http : // //_mapping/" – keety

+0

도움을 주셔서 감사합니다. /stackoverflow.com/questions/26504261/elasticsearch-indexing-issue-transportserializationexception – rLyLmZ