Можно ли напрямую использовать индекс 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
но минуя шаг генерации триграмм.