PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Indeks teks lengkap yang tepat Rails/PostgreSQL/pg_search

Ungkapan ini:

to_tsvector('simple', (COALESCE(title::TEXT), ''))

tidak sargable terhadap indeks Anda.

Anda harus mendeklarasikan indeks pada ekspresi persis seperti yang digunakan dalam kueri:

CREATE INDEX products_gin_title
ON products
USING GIN(to_tsvector('simple', COALESCE(title::TEXT,'')))

(atau buat ruby ​​menghasilkan ekspresi yang digunakan dalam indeks).

Jika Anda ingin beberapa kolom diindeks, gabungkan saja:

CREATE INDEX products_gin_title
ON products
USING GIN(to_tsvector('simple', title || ' ' || product_type || ' ' || platform_id))

tetapi sekali lagi, Ruby harus memfilter ekspresi yang sama persis agar indeks dapat digunakan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat daftar semua database menggunakan PostgreSQL

  2. Membuat Modul Baru menggunakan PostgreSQL Create Extension

  3. Casting tipe NULL saat memperbarui beberapa baris

  4. Apakah spesifikasi JDBC mencegah '?' dari digunakan sebagai operator (di luar tanda kutip)?

  5. 'otentikasi kata sandi gagal untuk postgres pengguna'