PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chỉ mục văn bản đầy đủ thích hợp Rails / PostgreSQL / pg_search

Biểu thức này:

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

không thể phân biệt được với chỉ mục của bạn.

Bạn nên khai báo chỉ mục trên chính xác biểu thức được sử dụng trong truy vấn:

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

(hoặc làm cho ruby ​​tạo ra biểu thức được sử dụng trong chỉ mục).

Nếu bạn muốn nhiều cột được lập chỉ mục, chỉ cần nối chúng:

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

nhưng một lần nữa, Ruby nên lọc trên cùng một biểu thức để chỉ mục được sử dụng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách nhanh chóng loại bỏ một người dùng có các đặc quyền hiện có

  2. Cách sử dụng cấu trúc dữ liệu vòng trong các hàm cửa sổ

  3. PotgreSQL- LỖI:chuỗi byte không hợp lệ để mã hóa UTF8:0xeb 0x6e 0x74

  4. Django:chọn các giá trị có dấu thời gian tối đa hoặc tham gia vào cùng một bảng

  5. Tên bảng dưới dạng tham số hàm PostgreSQL