Pilihan untuk pencarian teks dan pengindeksan meliputi:
-
pengindeksan teks lengkap dengan pencarian berbasis kamus, termasuk dukungan untuk pencarian awalan, misalnya
to_tsvector(mycol) @@ to_tsquery('search:*')
-
text_pattern_ops
indeks untuk mendukung kecocokan string awalan misalnyaLIKE 'abc%'
tapi tidak pencarian infix seperti%blah%
;. Sebuahreverse()
d index dapat digunakan untuk pencarian sufiks. -
pg_tgrm
indeks trigram pada versi yang lebih baru seperti yang ditunjukkan dalam dba baru-baru ini .stackexchange.com posting . -
Alat pencarian dan pengindeksan eksternal seperti Apache Solr .
Dari informasi minimal yang diberikan di atas, saya akan mengatakan bahwa hanya indeks trigram yang dapat membantu Anda, karena Anda melakukan pencarian infiks pada string dan tidak mencari kata kamus. Sayangnya, indeks trigram besar dan agak tidak efisien; jangan mengharapkan semacam peningkatan kinerja yang ajaib, dan perlu diingat bahwa mereka membutuhkan banyak pekerjaan untuk membangun dan memperbarui mesin database.