购物车使用以下查询搜索产品:
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
查询未找到包含文字的记录,其中的文字不是像
那样的精确顺序pencil black
如何解决这个问题,以便返回类似的结果? 使用从9.1开始的PostgreSql版本。