购物车使用以下查询来搜索产品:
select ...
from toode,yksus7,artliik,artryhm
where toode.nimetus ilike '%'||{{5}}||'%' escape '!'
or toode.toode ilike '%'||{{5}}||'%' escape '!'
or toode.analoog ilike '%'||{{5}}||'%' escape '!'
or yksus7.nimetus ilike '%'||{{5}}||'%' escape '!'
or artliik.artlnimi ilike '%'||{{5}}||'%' escape '!'
or artryhm.nimetus ilike '%'||{{5}}||'%' escape '!'
or toode.markused ilike '%'||{{5}}||'%' escape '!'
...
搜索字段类型为字符(n),TEXT
{{5}}
表示用户在网页搜索框中输入的搜索词。
此查询词仅完全匹配。在 WHERE 子句中加入的不同表中的文本toode,yksus7,artliik,artryhm
需要搜索并返回最佳匹配结果。
如果用户类型
blank pencil
查询未找到包含文本的记录,其中的单词不是 ix 确切的顺序,例如
pencil black
如何解决这个问题,以便也返回类似的结果?使用从 9.1 开始的 PostgreSql 版本。