메인 DB는 SQL
SQL에서 컬럼과 풀텍스트 조합해서 검색을 쌈빡하게 한다거나
한글 자연어 검색을 한다거나 하려면 곤란하니까
요즘은 가장 많이 찾는 대안이 엘라스틱 서치잖아?
근데 이것의 단점은 비용이 많이 들어가고 업데이트가 실시간 반영이 느리잖아
업데이트 몇 초 ~ 1분 정도 느린 점은 사용자들이 언제 올릴지 모르는 컨텐츠들에 대하여
단지 목록 열람, 조회를 위한 부분이니 그렇게 민감한 문제는 아니니 넘어가고
비용 문제만 보자
이건 DB엔진 하나 따로 돌리는만큼의 서버 돌아가고 스토리지 잡아먹는데
이럴바엔 그냥 SQL과 호환 잘되게 DB하나 더 열거나 인스턴스 하나 더 열어서 활용하는 게 낫지 않나?
SQL에서 풀텍스트 검색을 영어로 하면 이런 경우는 잘돼
Strawberry로 검색해도 Strawberries가 검색이 잘 되거든
그런데 한글은 딸기들? 산딸기로 검색하면 딸기가 안 나와
그래서 내 목적에 맞게 SQL 검색을 구현하는 거야
테이블 만들어서
... 음 생각해보니까 띄어쓰기, 맞춤법 문제에 산딸기라면 이것을 산, 딸기로 구분을 지어야하는데
이게 산딸, 기로 구분을 지어야할지 판단하는 문제에 봉착되고
여러가지 문제가 많네
그냥 남들이 다 만들어 놓으신 엘라스틱서치 써야겠다
ㅇㅇ
데이터 100만건만 넘어가도 일반db 풀텍스트검색? 어림도없음
ㅇㅇ 그러니까 SQL로 검색을 따로 구현하자는 겆
그게머선말이고 sql로 검색을 따로구현한다는게 일반db쓴다는거아님?
난독증인가? 본문에도 검색 문제가 있으니 엘라스틱 서치가 대안인데 그거 쓰는대신에 SQL 엔진 활용해서 직접 검색 엔진 기능을 구현해보자 이거인데 뭔 소리야? 근데 그걸 다 구현하려면 생각지도 못한 이슈들 있을테니 이미 다 만들어서 파는 엘라스틱 서치를 검색엔진으로만 쓰고 데이터는 SQL로 쓰고 이거잖아
ㅇㅇ 이해불가