我想找到一種方法來建立一個模糊搜索,其中文本數據庫和查詢可能有拼寫變體。特別是,文本數據庫材料從網上收集,可能不會從全文引擎的準備階段中受益(詞幹) 我能想象使用pg_trgm爲出發點,然後由萊文斯坦驗證命中。 但是,人們傾向於在音樂領域做前綴查詢E.g,我期望「貝多芬交響曲」是一個合理的搜索術語。那麼,是有人在輸入「betho交響曲」,是有一個合理的方式(使用PostgreSQL有可能是TCL或Perl腳本)來發現的「betho」部分應以「beetho」相比較(返回爲1的編輯距離)前綴相似性搜索
Q
前綴相似性搜索
3
A
回答
0
您可以修改編輯距離算法以降低字符串的後部分的權重。例如:匹配(i,j)= 1/max(i,j)^ 2,而不是匹配(i,j)= 1,對於每個我來說都是如此。 (我和j是你正在比較的符號的位置)。
這樣做是:DIST( 'ABCD', 'ABCE')< DIST( 'ABCD', 'EBCD')。
1
我結束了什麼是常見算法的簡單修改:通常我只想拿起從矩陣或向量對最後一個值。參照http://en.wikipedia.org/wiki/Levenshtein_distance中的「迭代」算法,我將字符串作爲第一個參數進行探測,將查詢字符串作爲第二個參數。現在,當算法結束,在結果列中的最低值給出正確的結果
樣品結果: 查詢「fantas」,詞語的數據庫「幻想」,「神奇的」 => 0 查詢「fantas」, WOR數據庫「粉絲」 => 3
編輯距離的輸入是基於三元相似性的「最字」列表中選擇
相關問題
- 1. 彈性搜索前綴,後綴,EdgeGram
- 2. 搜索顏色相似性
- 3. 索引的相似性搜索
- 4. 全文搜索前綴搜索問題
- 5. 搜索最長的前綴
- 6. 搜索查詢的前綴
- 7. Solr後綴/前綴搜索數字
- 8. 視覺相似性搜索算法
- 9. 相似和語義搜索
- 10. Elasticsearch:搜索相似商品
- 11. 如何使用Elasitc搜索與性能相關的前綴查詢?
- 12. MySQL的SUB_STRING搜索(前綴的ID)
- 13. 插入和前綴搜索執行樹
- 14. 數據庫搜索減去「前綴」
- 15. Twilio可用電話搜索前綴
- 16. 漸進搜索最長前綴
- 17. 前綴在Mysql中搜索記錄
- 18. 前綴搜索的Solr模式,howto?
- 19. mysql搜索前綴「the」或「and /&」ambiguity
- 20. JavaScript的搜索和替換前綴零
- 21. 使用索引搜索相似單詞
- 22. 無法獲得前綴查詢,以使用彈性搜索dotnet
- 23. GAE搜索API是否支持部分或前綴搜索?
- 24. 使用二進制搜索的Java前綴搜索
- 25. 檢索索引前的Elasticsearch文檔相似性
- 26. 使用索引前綴獲得相同的性能嗎?
- 27. mysql全文搜索中的前綴和後綴通配符
- 28. Zend Lucene搜索相關性
- 29. Azure搜索相關性
- 30. 視覺相似性的反向圖像搜索API?
感謝的話了很多 - 這看起來很有希望。在postgresql的情況下,它可能需要加載修改後的代碼作爲擴展 – user1938139