Функция подобия в Пост-ГРЭС с pg_trgm

Я пытаюсь использовать функцию подобия в Пост-ГРЭС, чтобы сделать некоторое нечеткое текстовое соответствие, однако каждый раз, когда я пытаюсь использовать его, я получаю ошибку:

function similarity(character varying, unknown) does not exist

Если я добавляю явные броски для отправки текстовых сообщений, я получаю ошибку:

function similarity(text, text) does not exist

Мой запрос:

SELECT (similarity("table"."field"::text, %s::text)) AS "similarity", "table".* FROM "table" WHERE similarity > .5 ORDER BY "similarity" DESC LIMIT 10

Я должен сделать что-то к initalize pg_trgm?

17
задан Alex Gaynor 12 February 2010 в 20:44
поделиться

1 ответ

Вам необходимо установить pg_trgm. В debian создайте исходный код sql: /usr/share/postgresql/8.4/contrib/pg_trgm.sql . Из командной строки:

psql -f /usr/share/postgresql/8.4/contrib/pg_trgm.sql

Или внутри оболочки psql:

\i /usr/share/postgresql/8.4/contrib/pg_trgm.sql

По умолчанию сценарий устанавливается в общедоступной схеме, отредактируйте путь поиска вверху, если вы хотите установить его в другом месте (чтобы можно было удалить / обновить выполняется просто отбрасывая схему).

9
ответ дан 30 November 2019 в 10:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: