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 –