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

Пълнотекстово търсене в Postgres:как да търсите няколко думи в множество полета?

Изглежда, че това, което искате, всъщност е да търсите в конкатенацията на всички тези полета.

Можете да създадете заявка, правейки точно това

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

и изградете индекс върху точно същото изчисление:

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

Не забравяйте да използвате coalesce на колони, приемащи 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. Мета команди в Psycopg2 - \d не работят

  2. PostgreSQL репликация за аварийно възстановяване

  3. Как да обходите йерархична дървовидна структура назад с помощта на рекурсивни заявки

  4. Хибернация:Създаване на индекс

  5. ГРЕШКА:трябва да бъде член на роля при създаване на схема в PostgreSQL