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

Làm cách nào để sử dụng `unaccent` với tìm kiếm toàn văn trong django 1.10?

Cài đặt unaccent tiện ích mở rộng vào cơ sở dữ liệu của bạn:

mydb=# CREATE EXTENSION unaccent;

Tạo cấu hình tìm kiếm mới, dựa trên cấu hình khác:

mydb=# CREATE TEXT SEARCH CONFIGURATION french_unaccent( COPY = french );

Chèn thẻ không công tâm từ điển vào cấu hình tìm kiếm mới của bạn:

mydb=# ALTER TEXT SEARCH CONFIGURATION french_unaccent
    ALTER MAPPING FOR hword, hword_part, word
    WITH unaccent, french_stem;

Sử dụng cấu hình này trong truy vấn Django của bạn:

search = 'Car'
query_set = Article.objects.annotate(
                search=SearchVector('content','name', config='french_unaccent')
            ).filter(search=SearchQuery(search, config='french_unaccent')))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để dịch PostgreSQL OID bằng python

  2. Cách tạo chỉ mục duy nhất trong đó thứ tự cột không được tính đến (đặt?)

  3. PostgreSQL ANSI, Python SQL, codec utf-8 'không thể giải mã byte 0xa0

  4. connect.select_value chỉ trả về các chuỗi trong postgres với pg gem

  5. tham gia hai bảng khác nhau và xóa các mục nhập trùng lặp