문제

PostgreSQL DB와 함께 Symfony 1.0 프로젝트에서 Propel 1.2를 사용하고 있습니다. ter (fullText search)과 같은 postgres 함수를 사용하기 위해 criteria :: select 문의 사용자 정의를 사용할 수 있습니다.

`$ c = 새로운 기준 ();

$ c-> add (mytablePeer :: fullText_column, myTablePeer :: fullText_column.

레코드를 선택해도 괜찮지 만 삽입은 어떻습니까? 현재 RAW SQL 쿼리를 사용하고 있지만 더 우아한 방식으로하고 싶습니다. 나는 이것을 보았다 단편 Symfony 웹 사이트에서는 많은 코드이며 내 요구에 맞지 않습니다. 성능 매우 중요하므로 원시 SQL을 작성하는 것보다 더 나은 솔루션이 없을 수도 있습니다.

$ object-> setfulltextColumn ($ parameters)과 같은 사용자 정의 세터를 어떻게 작성하려면?

미리 감사드립니다

도움이 되었습니까?

해결책

FullText 열에 삽입/업데이트의 경우 트리거를 사용하지 않는 이유는 무엇입니까? 그런 다음 행의 텍스트를 변경하면 전체 텍스트 열이 자동으로 업데이트됩니다.

CREATE TRIGGER my_table_fulltext_trigger 
BEFORE INSERT OR UPDATE ON my_table 
FOR EACH ROW EXECUTE PROCEDURE tsvector_update_trigger(
  'fulltext',
  'pg_catalog.english', 
  'column_with_text_1', 
  'column_with_text_2', 
  'column_with_text_N'
);

매개 변수 tsvector_update_trigger 절차는 다음과 같습니다. tsvector fullText 열, 언어 구성 및 모든 열의 이름을 색인 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top