ElasticSearch 색인을 닫으면 색인 구성 변경이 즉시 적용됩니다.

문제


elasticsearch를 처리할 때, 기대하는 효과에 도달하기 위해 색인 설정을 끊임없이 조정해야 합니다.최근 각종 analyzer의 효과를 시험할 때 색인 설정을 수정하면 즉시 효력이 발생할 수 없다는 문제에 부딪혔다.나중에 색인을 닫고 열어야 효과가 있다는 것을 알게 되었다.
 

프로세스


다음은 나의 과정이다.

색인을 만들려면 다음과 같이 하십시오.


 
curl -XPUT http://localhost:9200/analyzetest/ -d '
{
   "settings":{
      "analysis":{
         "analyzer":{
            "testpatternanalyzer":{
               "type":"pattern",
               "pattern":"\\s+"
            }
         }
      }
   }
}
'

 
 

분석기 효과 테스트:


 
curl -Xpost http://localhost:9200/analyzetest/_analyze?analyzer=testpatternanalyzer -d '
hello elasticsearch
'

효과 달성, 사용자 정의 분석기를 시험, 이 분석기는 nGram의 tokenizer를 사용:

인덱스 구성 업데이트:

curl -XPUT http://localhost:9200/analyzetest/_settings -d '
{
   "analysis":{
      "analyzer":{
         "acompoundenglish":{
            "type":"custom",
            "tokenizer":"my_ngram_tokenizer",
            "filter":[
               "my_ngram_filter"
            ]
         }
      },
      "tokenizer":{
         "my_ngram_tokenizer":{
            "type":"nGram",
            "min_gram":1,
            "max_gram":3
         }
      },
      "filter":{
         "my_ngram_filter":{
            "type":"nGram",
            "min_gram":1,
            "max_gram":3
         }
      }
   }
}
'

반환:

{
    "ok": true
}

 

테스트 효과:


 
curl -Xpost http://localhost:9200/analyzetest/_analyze?analyzer=compoundenglish -d '
english
'

결과적으로 돌아오는 토큰은 "english"하나입니다.이것은 분명히 nGram이 달성해야 할 효과가 아니다.여러 번 반복해 보았지만 효과가 없었다.
통과
curl -Xget http://localhost:9200/analyzetest/_settings

두 번째 설정의 색인 설정이 아예 나타나지 않은 것을 발견했습니다.하지만 설정을 업데이트할 때 이름이 성공적으로 돌아왔습니다.
원래 https://groups.google.com/forum/#!msg/elasticsearch/dVPq9GAh8-g/Gs3Lg7Zjt1QJ 는 인덱스를 닫아야 적용됩니다.
kimchy
쓰다
It might just be the number of replicas setting, where it should handle things better in case of a closed index. All other settings should work. Open an issue for the number of replica settings update problem on a closed index.
통과
curl -XPOST http://localhost:9200/analyzetest/_close
curl -XPOST http://localhost:9200/analyzetest/_open

업데이트된 설정이 효력이 발생한 것을 발견하고 분석기도 기대하는 효과를 되돌렸다.
 
 

좋은 웹페이지 즐겨찾기