brunch

You can make anything
by writing

C.S.Lewis

by 무명 Aug 02. 2021

[RDB] fulltext search 세팅

aws rds fulltext search 구현기

엘라스틱서치도 쓰고 있는 마당인데, 어쩌다가 aws rds에서 fulltext search를 구현해야 하는 상황이 됨. 


쿼리 자체는 간단함. 

https://pakss328.medium.com/mysql-fulltext-search-eb64d489cac5


https://docs.microsoft.com/ko-kr/sql/t-sql/statements/alter-fulltext-index-transact-sql?view=sql-server-ver15

기 생성된 테이블이면 alter로 fulltext search 인덱스 추가해도 됨. 

http://tcpschool.com/mysql/mysql_index_add

https://dogcowking.tistory.com/78




https://www.kbpublisher.com/kb/how-to-change-ft_min_word_len-variable_273.html

show variables like ~로 변수 값을 확인해볼 수 있음. 




https://kabkee.github.io/mysql/mysql-full-text-search/

최소 인덱싱 글자 수 설정을 해야 함. 

우리 케이스는, 'UV'(Ultra Violte)와 같은 검색 키워드도 커버하기 위해서 디비 정적 변수를 수정해야 했음. 

(2음절 검색이 가능하도록) 기본적으로 innoDB인 경우 3글자가 디폴트로 되어있음. 

ft_min_word_len = 2

innodb_ft_min_token_size = 2

로 수정.


https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sjpotato&logNo=40178468574




https://ohgyun.com/730

aws의 rds 디비 인스턴스 자체에서 쿼리로 수정할 순 없다. 

mysql workbench 같은 툴에서도 별수를 변경할 순 없다. (읽기만 가능하다고 나옴)

aws rds 콘솔에서 수정해줘야 함. 


일단 aws rds 대시보드에서 사용하고 있는 디비의 파라미터 그룹 변경해야 함. 

아마 default mysql 버전 그룹으로 들어가 있을 거임. 

그래서 별도의 파라미터 그룹을 생성하고, 변경하고자 하는 디비 인스턴스를 그 그룹에 소속시킨다. 

그리고 그룹의 파라미터, ft_min~ 을 수정한다. 

*인스턴스를 재시작해야 변수 변경이 적용된다. 

*2음절에 대해서는 인덱싱을 다시 해야 한다. 




매거진의 이전글 [ES] 클러스터, 노드, 샤드, 레플리카, 속도향상
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari