fulltext index 관련 알고리즘을 한번 바꾸어 보고자
rtree 인덱스를 사용해보려고 했습니다.
(intarray 의 gist 인덱싱이 알고리즘을 rtree 인덱싱을 사용하거든요)
요지는
글번호 1번, 글 내용 '무 궁 화 꽃 이 피 었 습 니 다'
일때,
fulltext 자료는
글번호 1번, fulltext 자료 '{1,2,3,4,5,6,7,8,9,10}'
이렇게 사전자료에 있는 단어 번호를 정수형 배열로 집어넣고,
intarray @ 연산으로 찾아내는 것이였지요.
당연히 인덱스를 사용할 것이고, 정수형인지라 속도도 무진장 빠를 것이다는...
그런데, 자료가 한 수백개까지는 무난하게 잘 입력되던 놈이,
어느 순간 부터는 속도가 무지막지 걸리기 시작했습니다.
글 하나를 파싱하고, 입력하는데, 걸리는 시간이 평균 1분에서 점점 더 늦어져서는 8시간째 계속 입력되고 있네요. 입력된 글 갯수는 이제까지 2,000여개...
즉, 완벽한 실패지요. :)
원인을 보니, 정수형 배열의 인덱스를 만드는데 걸리는 시간이었습니다.
정수형 배열의 요소가 4~5개 미만일 경우는 rtree 인덱스 작업 아주 무난한데,
요소가 수십개에서 수백개로 되어버리면, 실무에서 사용하지 못할 정도의 속도가 나오네요.
혹 지리정보쪽 작업하시면서 rtree 인덱스 사용하시면서 배열의 요소가 꽤 많은 자료형을 사용하면서 인덱스를 사용해 보신 경험이 있으시면 도움을 청합니다.
이 문제를 어떻게 푸셨는지....
아무래도 vector 방식의 fulltext는 포기해야할듯 :(
|