Можно ли напрямую использовать индекс PostgreSQL Trigram pg_trgm?

Я хочу использовать свою собственную функцию для создания вектора триграмм, как для индексации, так и для запросов, возможно ли это?

Как это обычно работает:

indexing : text  => pg_text_to_trigram_vector => submit vector to index
querying : query => pg_text_to_trigram_vector => query using vector

Я хотел бы обойти pg_text_to_trigram_vector шаг и отправить мой собственный по-разному сгенерированный вектор триграммы в индекс и запросить напрямую

indexing : my-own-trigram-vector => submit my-vector to index
querying : my-own-trigram-vector => query using my-vector

или, может быть, я могу определить свою собственную функцию, и PostgreSQL будет использовать ее для генерации вектора триграмм, что также будет хорошо

indexing : text  => my-own-function => submit my-vector to index
querying : query => my-own-function => query using my-vector

Это возможно?

Пример:

Я хотел бы представить 3 вектора для индексации

['abc', 'cbd', 'def']
['abc']
['sdd', 'dd3', '5gd', 'd4d']

А затем запросить его с другим вектором

['abc', 'cbd']

В основном это так же, как pg_trgm но минуя шаг генерации триграмм.

0 ответов

Другие вопросы по тегам