PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Django комбинира __unaccent и __търсене

Начинът да направите това е да дефинирате персонализирана конфигурация за търсене в база данни като:

CREATE TEXT SEARCH CONFIGURATION unaccent ( COPY = french );
ALTER TEXT SEARCH CONFIGURATION unaccent ALTER MAPPING FOR hword, hword_part, word WITH unaccent, simple;

Не съм експерт по postgres, но тази конфигурация работи за мен. За повече подробности вижте урок като този:http://www.nomadblue.com/blog/django/from-like-to-full-text-search-part-ii/

и след това използвайте това в Django:

from django.contrib.postgres.search import SearchVector, SearchQuery

Game.objects.annotate(unaccent_title=SearchVector('title', config='unaccent')).filter(unaccent_title=SearchQuery('Pokemon', config='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. Деактивирайте обвиването в изхода на Psql

  2. Изберете от нищо в Oracle, без да препращате към двойната таблица?

  3. ГРЕШКА на Postgres pl/pgsql:колона име_на_колона не съществува

  4. дублираният ключ на postgresql нарушава уникалното ограничение

  5. Как да съхранявате DateTimeOffset в PostreSQL