-
동의어 사전 다중 등록 테스트 (Elasticsearch v6.5.4)검색/ElasticSearch 2021. 8. 26. 14:05반응형
목적
nori analyzer의 동의어 등록 방식은 “a,b,c”와 “a=>b” 두가지가 있다.
위 동의어 키워드는 synonyms.txt 파일에 작성하여 indices 생성에 사용한다.사전 관리시스템을 만들면서,
우리는 “a,b,c” 방식을 동의어, “a=>b” 방식을 유사어 사전이라고 분리했다.분리한, 동의어와 유사어 사전이 각각 배포 및 적용이 가능한지 테스트한다.
- indices 생성시 filter 에 동의어,유사어 필터를 각각 생성 할 수 있는지 확인한다.
- synonym.txt, similar.txt 사전을 생성 후 각각의 사전이 적용 되는지 확인한다.
테스트 indices생성
- filter에 synonym 타입의 동의어와 유사어 필터를 각각 생성한다.
PUT dic_synonym_test/ { "mappings" : { "_doc" : { "dynamic":"strict", "properties":{ "title" : { "type" : "text", "analyzer":"korean" } } } }, "settings":{ "index":{ "analysis":{ "filter":{ "synonym":{ "type":"synonym", "synonyms_path":"dic/synonyms.txt", "updateable":"true" }, "similar":{ "type":"synonym", "synonyms_path":"dic/similar.txt", "updateagble":"ture" } }, "analyzer":{ "korean":{ "filter":[ "synonym", "similar" ], "type":"custom", "tokenizer" : "korean_default_tokenizer" } }, "tokenizer":{ "korean_default_tokenizer":{ "type":"nori_tokenizer", "user_dictionary":"userdict_ko.txt", "decompund_mode":"mixed" } } } } } }
사전 등록
- 3대의 노드에 모두 dic/synonyms.txt, dic/similar.txt 파일을 생성한다.
테스트 데이터 삽입
PUT dic_synonym_test/_doc/1 { "title":"선블록" } PUT dic_synonym_test/_doc/2 { "title":"폼클렌징" }
검색결과 확인
결론
동의어 필터를 여러개 세팅 하는 것이 가능하다.
반응형'검색 > ElasticSearch' 카테고리의 다른 글
kibana 접속 안될때 (read-only 전환된 상태) (0) 2021.08.26 Search Query Test ( Elasticsearch v6.5.4) (0) 2021.08.26 동의어 등록 테스트 ( nori / Elasticsearch v6.5.4) (0) 2021.08.26 운영 중인 엘라스틱서치 순차적 재시작 ( Rolling-Restart ) (0) 2021.08.26 elasticsearch-plugin 생성하기 (0) 2021.01.13