2008년 04월 06일
django + oracle10g에서 fulltext검색
[snippet 보러가기]
대략 OracleText을 이용하여 인덱싱한 컬럼에 대해서 `contains`을 이용하여 검색하도록...
(쟝고가 지금은 mysql만 fulltext검색을 지원하는걸로 알고있심)
대략 다음처럼 해당 컬럼에 대해서 검색하면 되겠심...
<code>
>>> models.Article.objects.filter(content__search='indexed-me')
...
</code>
또 오라클 하위버젼과의 호환성 때문인지 CLOB, NCLOB 컬럼에 대해서 DBMS_LOB.SUBSTR을 이용해 컬럼객체를 직접 참조하지 않고 그값으로 참조하도록 하는 부분은 강제로 제외시켰습니다. 하위버젼과의 호환성은 몰라도 해당 컬럼의 데이터가 좀 커지는 경우에는 바로 DBMS_LOB.SUBSTR에서 예외가 나서;;;
그냥 적당히 모듈로 만드시던지해서 patch()을 호출하면 실행시간에 오라클백엔드를 수정합니다.
ps. 몇줄되지도 않는놈에꺼-_-;;; T가 없었으면 힘들었을뻔;;;
대략 OracleText을 이용하여 인덱싱한 컬럼에 대해서 `contains`을 이용하여 검색하도록...
(쟝고가 지금은 mysql만 fulltext검색을 지원하는걸로 알고있심)
대략 다음처럼 해당 컬럼에 대해서 검색하면 되겠심...
<code>
>>> models.Article.objects.filter(content__search='indexed-me')
...
</code>
또 오라클 하위버젼과의 호환성 때문인지 CLOB, NCLOB 컬럼에 대해서 DBMS_LOB.SUBSTR을 이용해 컬럼객체를 직접 참조하지 않고 그값으로 참조하도록 하는 부분은 강제로 제외시켰습니다. 하위버젼과의 호환성은 몰라도 해당 컬럼의 데이터가 좀 커지는 경우에는 바로 DBMS_LOB.SUBSTR에서 예외가 나서;;;
그냥 적당히 모듈로 만드시던지해서 patch()을 호출하면 실행시간에 오라클백엔드를 수정합니다.
ps. 몇줄되지도 않는놈에꺼-_-;;; T가 없었으면 힘들었을뻔;;;
# by | 2008/04/06 12:17 | pyhonic | 트랙백 | 덧글(4)




☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
春자를 喝자로 바꿔주고 싶군.
아름다움에 대한 깨달음이 전해졌구나.