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

Tìm kiếm toàn văn của Postgres:làm thế nào để tìm kiếm nhiều từ trong nhiều trường?

Trên thực tế, có vẻ như những gì bạn muốn là tìm kiếm từ nối của tất cả các trường đó.

Bạn có thể tạo một truy vấn thực hiện chính xác điều này

... where to_tsvector('italian', name||' '||coalesce(decription,'')...) @@ to_tsquery('$word')

và xây dựng một chỉ mục trên cùng một phép tính chính xác:

create index your_index on shop
using GIN(to_tsvector('italian',name||' '||coalesce(decription,'')...))

Đừng quên sử dụng coalesce trên các cột chấp nhận giá trị NULL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails không khôi phục giao dịch sau khi lưu không thành công ()

  2. Ngoại lệ Postgres:Không có kết quả nào được trả về bởi truy vấn.

  3. Năm điều thú vị tôi đã học được tại Hội nghị PostgreSQL Châu Âu 2018

  4. Cách tạo và xóa cơ sở dữ liệu và bảng trong PostgreSQL

  5. (var) char làm kiểu cột cho hiệu suất?