sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgres fuldtekstsøgning:hvordan søger man flere ord i flere felter?

Det ser ud til, at det, du ønsker, faktisk er at søge efter sammenkædningen af ​​alle disse felter.

Du kan bygge en forespørgsel, der gør præcis dette

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

og opbyg et indeks på nøjagtig den samme beregning:

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

Glem ikke at bruge coalesce på kolonner, der accepterer NULL-værdier.




  1. SQL COUNT() for begyndere

  2. Betinget splittransformation:Eksporter data fra SQL Server til Oracle- og MySQL-databaser

  3. Kan ikke importere MySQLdb-modul i Python

  4. ÆNDRE TABEL uden at låse bordet?