Opties voor zoeken en indexeren van tekst zijn onder meer:
-
full-text indexering met op woordenboeken gebaseerd zoeken, inclusief ondersteuning voor zoeken op voorvoegsels, bijv.
to_tsvector(mycol) @@ to_tsquery('search:*')
-
text_pattern_ops
indexen om voorvoegselreeksovereenkomsten te ondersteunen, bijvoorbeeldLIKE 'abc%'
maar niet infix-zoekopdrachten zoals%blah%
;. Eenreverse()
d index kan worden gebruikt voor het zoeken naar achtervoegsels. -
pg_tgrm
trigram-indexen op nieuwere versies zoals aangetoond in deze recente dba .stackexchange.com bericht . -
Een externe zoek- en indexeringstool zoals Apache Solr .
Op basis van de minimale informatie die hierboven is gegeven, zou ik zeggen dat alleen een trigram-index je kan helpen, omdat je infix-zoekopdrachten uitvoert op een string en niet op zoek bent naar woordenboekwoorden. Helaas zijn trigram-indexen enorm en nogal inefficiënt; verwacht geen magische prestatieverbetering en onthoud dat het veel werk kost om de database-engine te bouwen en up-to-date te houden.