sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres fulltextsökning:hur söker man efter flera ord i flera fält?

Det ser ut som att det du vill är att söka efter sammanlänkningen av alla dessa fält.

Du kan skapa en fråga som gör exakt detta

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

och bygga ett index på exakt samma beräkning:

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

Glöm inte att använda coalesce på kolumner som accepterar NULL-värden.




  1. MySql spanska teckendata

  2. Allmänt fel:3780 Refererande kolumn 'post_id' och refererad kolumn 'id' i främmande nyckelbegränsning 'fk_post' är inkompatibla

  3. Konvertera från DateTime till INT

  4. Hantera långsamma frågor med PostgreSQL