Опциите за търсене и индексиране на текст включват:
-
индексиране на пълен текст с търсене по речник, включително поддръжка за префиксно търсене, напр.
to_tsvector(mycol) @@ to_tsquery('search:*')
-
text_pattern_ops
индекси за поддържане на съвпадения на префиксен низ, напр.LIKE 'abc%'
но не инфикс търсения като%blah%
;. Areverse()
d индекс може да се използва за търсене на суфикс. -
pg_tgrm
триграмни индекси на по-нови версии както е показано в този скорошен dba .stackexchange.com публикация . -
Външен инструмент за търсене и индексиране като Apache Solr .
От минималната информация, дадена по-горе, бих казал, че само триграмен индекс ще може да ви помогне, тъй като правите инфиксни търсения на низ и не търсите думи от речника. За съжаление, триграмните индекси са огромни и доста неефективни; не очаквайте някакво вълшебно повишаване на производителността и имайте предвид, че те отнемат много работа, за да се изгради и поддържа актуална машината на базата данни.