1
我试图在Web应用程序上实现搜索,我可以在表中的多个字段上进行全文搜索,同时也支持部分或略偏离查询匹配。postgres中的模糊全文搜索
我的计划是创建一个物化视图,然后为模糊(trigram)搜索创建一个索引。但我不太确定这是否是正确的方法。
这是我到目前为止。我很确定这个SQL是不正确的,但我不知道如何纠正它。我对它还是一种新鲜感。第一次在ORM之外工作。
我使用的是postgres 9.5.5。
CREATE MATERIALIZED VIEW search AS
SELECT word FROM ts_stat(
'SELECT (
setweight(to_tsvector(''simple'', location.name), ''A'')
|| setweight(to_tsvector(''simple'',locations.street), ''B'')
|| setweight(to_tsvector(''simple'',locations.state), ''C'')
|| setweight(to_tsvector(''simple'',locations.city), ''C'')
|| setweight(to_tsvector(''simple'',locations.zip,), ''B'') AS document,
)
FROM locations
GROUP BY locations.id
'
);
表位置
名
街道
状态
城市
拉链
地理位置
* “模糊搜索” *可能是相当多的东西。请正确解释*您想要达到的目标。并添加您的表格定义,基数,Postgres版本。 –
更新的问题,我希望这更清晰。感谢您的提示! – user3791980
表定义包括数据类型和约束。示例:http://stackoverflow.com/a/9790225/939860 –