2016-11-02 2 views
0

나는 elasticsearch 2.x에서 elasticsearch 5.0으로 이동 중입니다. 시동 과정에서 elasticsearch는 elasticsearch.yml에서 인덱스 속성을 더 이상 정의 할 수 없다고 알려줍니다. elasticsearch 5.0 문서를 통해 인덱스 템플릿을 사용하여 버전 2.x의 elasticsearch.yml에 설정된 기본 매개 변수를 설정해야한다는 것을 알았습니다. 내 경우에는 내가 내가 elasticsearch.js 버전 12을 사용하고 오류elasticsearch 5.0 및 인덱스 템플릿

납니다

curl -XPUT 'http://localhost:9200/_template/template1' -d '{ 
    "template" : "*", 
    "settings.index.number_of_replicas" : "1", 
    "settings.index.number_of_shards" : "1", 
    "settings.index.similarity.default.b" : "0.0", 
    "settings.index.similarity.default.k1" : "1.2", 
    "settings.index.similarity.default.type" : "BM25", 
    "settings.index.similarity.norm_bm25.b" : "0.75", 
    "settings.index.similarity.norm_bm25.k1" : "1.2", 
    "settings.index.similarity.norm_bm25.type" : "BM25" 
}' 

이 변환을 시도하는 대신 다음 설치

index: 
    number_of_shards: 1 
    number_of_replicas: 1 
    similarity: 
    default: 
     type: BM25 
     b:0.0 
     k1:1.2 
    norm_bm25: 
     type: BM25 
     b:0.75 
     k1:1.2 

사용 및 인덱스 템플릿을했다

Error: [illegal_argument_exception] unknown setting [index.similarity] 

나는 템플릿에서 잘못된 방식으로 유사성을 설정하기 때문에 가정합니다. 내 자바 스크립트 코드가 올바르게 그래서 컬 동작을 한 세트로 내 elasticsearch.yml을 변환하는 올바른 방법은 무엇 그러나, 5.0 elasticsearch에 오류가 발생하는

client.indices.create({ 
    index: indexName, 
    body: { settings: { 
      number_of_shards: 1, 
      similarity : "norm_bm25" 
    } 
},....error stuff) 

입니다 자바 스크립트 코드, 잘못된 업그레이드에서 변경되지 그것은 elasticsearch 5.0에서 작동합니까?

답변

0

템플릿을 작성하는 올바른 방법은

PUT _template/template1 
{ 
    "template": "*", 
    "settings": { 
    "number_of_replicas": 1, 
    "number_of_shards": 1, 
    "index": { 
     "similarity": { 
     "default": { 
      "type": "BM25", 
      "b": 0, 
      "k": 1.2 
     }, 
     "norm_bm25": { 
      "type": "BM25", 
      "b": 0.75, 
      "k": 1.2 
     } 
     } 
    } 
    } 
} 

당신은 더 많은 정보를 원하시면 docs을 참조 할 수있다. 당신은 자바 스크립트 코드에서 동일한 설정 사전을 복사합니다.