- 실서비스에 적용하려면, 현재 1,2 index가 있어 번갈아가면서, 삭제하면서 생성되고 있다.
- clone을 이용해서 현재 current index를 복제한 후, 복제가 완료되면 변경된 synonym이 적용되어버림.
- clone 하는 방법 : https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clone-index.html 문서 참고
- clone 시 주의사항은 클러스터상태가 green이여야하고, index.block.write를 막아야함.
--------
## 방법
- 인덱스 생성시, 미사용중인 인덱스(2)로 변경하고, 적용중인 인덱스(1)을 close 후 open 하여 동의어사전 업데이트 진행하고, 다시 alias를 변경하는 방법 (단점 : 미사용중인 인덱스가 완전히 1번 인덱스와 동일하지 않을수 있는데 크게 영향없을듯하다)
- 인덱스를 클론하여, alias를 적용함. 배치생성시 clone된 인덱스가 alias로 있다면, 새로 생성한 인덱스로 alias를 바꾸고, clone인덱스는 날림.
- 이 두개도 귀찮으면... 파일 변경 사항을 확인해서 변경사항이 발견시, 내부에서 업데이트 하는 방법을 찾아서 plugins으로 개발
elasticsearch document 에서 동의어 document를 읽어서 처리할수없나? ㅇ_ㅇ...
mongodb를 읽기엔... acl도 있고 ;;
동의어를 파일로 관리하기가 좀 번거롭기도하고,
일단 동의어를 파일로 관리하되, reload 하는 plugins를 개발 하면 좋을꺼같긴하다.
mapping 정보
서울, 김포 국제공항,GMP
를 추가함.GET place-test4/_refresh
날렸지만, 의미없음 적용안됨POST place-test4/_reload_search_analyzers
날리면 된다고하지만, OSS버젼에선 안됨 (https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-reload-analyzers.html#indices-reload-analyzers-api-prereqs)https://stackoverflow.com/questions/18476736/how-to-dynamically-change-synonyms-for-elasticsearch