簡體   English   中英

PostgreSQL可以在tsvector上進行語音搜索嗎?

[英]Could PostgreSQL perform phonetic search over tsvector?

我有一個包含四個語言翻譯列的表。 例如,如果存在描述數據,則數據庫中有四列: description_endescription_dedescription_itdescription_fr

我建立了一個索引和tsv::tsvector列,將所有這些列的數據收集到一個tsvector列中。

tsv @@ to_tsquery(#{ search_query })查詢該表很好,但是我想用search_query拼寫錯誤的方式匹配行。 換句話說,執行模糊搜索。 但是,我希望它能盡可能快,因為我的桌子真的很大。

所以我想知道,在Postgres中,是否有可能以某種方式通過metaphone(#{ search_query }, 2)匹配我的tsv列?

因此,例如,串Herrenarmbanduhrheren得到了匹配。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM