2012-11-25 4 views
2

PostgreSQL에서 tsearch2를 사용하여 텍스트에서 URL을 추출합니다. 모든 것이 기본 도구로 잘 작동하지만 YouTube 링크에는 문제가 있습니다. 파서에서 가져온 URL은 모두 소문자로 처리되며 YT 링크는 사용할 수 없습니다.PostgreSQL tsearch2 without lowercasing

나는 약간의 연구를 수행하여 저하를 방지 할 수있는 옵션이 없다는 것을 알았습니다. 제가 할 수있는 것은 내 자신의 파서를 작성하는 것입니다.

맞습니까? 파서가 대소 문자를 구분할 수있는 마법의 방법이있을 수 있습니까? 없다면 적절한 파서를 작성한 사람이 있습니까? 아니요 - 아무런 조언이 있습니까? 제대로 할 수있는 방법은 무엇입니까? :) 도움을

감사합니다, 당신은 대소 문자를 구분 등에 의해 tsearch 결과를 다시 확인 할 수

답변

1

xaru. 너무 많은 충돌이 없다면이 해결책은 빠르다.

SELECT * FROM (SELECT url 
        FROM your_tab 
       WHERE to_tsvector(..) @@ to_tsquery(..) 
       OFFSET 0) s 
    WHERE s.url LIKE '%Bbx%' 
+0

나는 그것이 작동하지 않을까 두려워. 나는 코드가 URL을 추출하려면 다음을 사용하여 URL로 'SELECT ID, to_tsvector ('public.urls_extraction'콘텐츠를) 페이지의 \t ... '나는 곳에서, 별도의 테이블에이 tsvectors를 저장 I 내가 뭔가를 쿼리해야 할 때 그들을 얻으십시오. 코드를 사용하는 경우 다음 오류가 발생합니다. 'ERROR : 연산자가 없습니다 : tsvector ~~ * unknown ' – xaru

+0

LIKE를 tsvector 유형에는 사용할 수 없지만 원래 문자열에는 사용할 수 없습니다 –