![](/img/trans.png)
[英]PostgreSQL: perform cosine similarity search over pre-vectorized database
[英]Could PostgreSQL perform phonetic search over tsvector?
我有一個包含四個語言翻譯列的表。 例如,如果存在描述數據,則數據庫中有四列: description_en , description_de , description_it和description_fr 。
我建立了一個索引和tsv::tsvector
列,將所有這些列的數據收集到一個tsvector
列中。
用tsv @@ to_tsquery(#{ search_query })
查詢該表很好,但是我想用search_query
拼寫錯誤的方式匹配行。 換句話說,執行模糊搜索。 但是,我希望它能盡可能快,因為我的桌子真的很大。
所以我想知道,在Postgres中,是否有可能以某種方式通過metaphone(#{ search_query }, 2)
匹配我的tsv
列?
因此,例如,串Herrenarmbanduhr
並heren
得到了匹配。
UPD:我有一些...已翻譯的列,所以與metaphone(column_a, 2) = metaphone(query, 2) OR metaphone(column_b, 2) = metaphone(query, 2)...
匹配的列是一個我的痛苦
據我所知,不支持開箱即用。
應該有可能編寫一個例程(也許是C語言函數?)以將tsvector轉換為諸如文本值數組之類的東西,然后使用其他搜索功能對它們進行語音搜索。 由於初始轉換和語音轉換是不可變的,因此可以對輸出進行索引。
但是,開箱即用不支持此功能,至少需要一點工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.