我對這個領域很陌生,我主要想知道最新的技術以及我可以在哪裏讀到它。如何在大數據中進行模糊搜索
讓我們假設我只有一個鍵/值存儲,並且我有一些距離(key1,key2)以某種方式定義(不確定它是否必須是度量標準,即三角不等式必須始終保持)。
我想要的主要是一個搜索(鍵)功能,它將所有項目返回到與搜索鍵相距一定距離的鍵。也許這個距離限制是可配置的。也許這也只是一個懶惰的迭代器。也許還可以有一個計數限制和一個項目(鍵,值)在返回的集合中有一定的概率P,其中P = 1 /距離(鍵,搜索鍵)左右(即完美匹配當然是在設定和關閉匹配中至少有很高的概率)。
一個示例應用是MusicBrainz中的指紋匹配。他們使用AcoustId指紋並定義了this compare function。他們使用PostgreSQL的GIN索引,我猜(儘管我還沒有完全理解/讀取acoustid-server代碼)GIN Partial Match Algorithm,但我還沒有完全理解這是我所要求的以及它是如何工作的。
對於文本,什麼到目前爲止,我所發現的是使用一些phonetic algorithm簡化基於其發音的詞語。一個例子是here。這主要是爲了將搜索空間分解到更小的空間。然而,這具有幾個限制,例如它仍然是小空間的完美搭配。
但無論如何,我也在尋找更通用的解決方案,如果存在的話。
不是一個完整的答案,但有看VP-樹(http://en.wikipedia.org/wiki/Vp-tree和http:// stevehanov .CA /博客/ index.php文件?ID = 130)。它們允許在度量空間中進行快速查詢。 –