我必須對多個欄位進行模糊搜索(試圖創建類似于亞馬遜產品搜索的自動完成功能)。我通過 ElasticSearch 進行了嘗試,但想知道在 postgreSQL 中是否有與之等效的東西。
這是彈性搜索的示例代碼:(欄位,標題和描述,都是索引型別:文本)
GET index_name/_search
{
"query": {
"bool": {
"must": [
{
"multi_match": {
fields: ["description", "title"],
query: "postgres",
fuzziness: 1
}
}
]
}
}
}
我在 postgreSQL 中使用 pg_tram 進行了同樣的嘗試,它適用于具有相似性()的一個欄位,但我不知道如何在多個欄位上擴展它。
這就是我在 postgreSQL 中所做的:
select * from table t
where similarity("title", "postgres") > 0.5;
select * from table t
where similarity("title", "postgres") > 0.5 OR similarity("description", "postgres") > 0.5;
將不勝感激在這方面的任何幫助/指導。
PS:如果我的描述遺漏了什么,請告訴我。
謝謝 :)
uj5u.com熱心網友回復:
我在 dba.stackexchange 中問了同樣的問題并得到了一些答案。
這是鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/478696.html
標籤:PostgreSQL 弹性搜索 模糊搜索
