我們的客戶在我們的Azure搜索索引上進行查詢,主要針對人名。我們在所有的領域都使用Lucene分析器。我們通過將客戶端的輸入名稱變爲短語來建立查詢字符串,並將接近率增加爲3.因爲我們使用短語進行搜索,所以我們不能使用Lucene分析器的模糊搜索功能,因爲它只能處理單個單詞。Azure搜索 - 語音分析儀問題
因此,我們正在尋找一種解決方案,以便能夠帶回與客戶輸入的拼寫完全不匹配的名稱的結果。我們遇到了語音分析器,並且剛剛在我們的索引中實施了Metaphone算法。我們運行一些測試,雖然它會讓我們更接近我們所需要的,我們還是看到了一些問題:
分析儀的範圍是如此之廣,它勾起了我很多誤報。例如,當搜索肯尼思古登時,它帶回肯尼思棉花。在我們看來,這只是有點太遠而不能被認爲在語音上相似。敏感度是否可以以任何方式進行調整,或者可以採取一些措施來提高一些其他參數來彌補這一點?
在Barry Soper搜索時,第一個得分最高的結果是「Barry Spear」。第二項得分較低的結果是「Soper,Barry Russell」。在某種程度上,我可以也許明白爲什麼它的得分方式(第二個名字是第一個名字的第一個),但然後......不是真的。第二個結果包含所需的接近度內的兩個精確詞。也許在應用分析器之前,Azure搜索會優先考慮短語中的單詞順序?對我仍然沒有意義。 (附註 - 這個查詢也帶回了「巴爾超級」 - 見上述問題#1)
我想知道,如果有人可以提供建議,以調整Azure的搜索行爲沿着什麼樣的線條更加努力我們需要,或者,也許建議替代語音分析儀。我們還沒有嘗試任何其他可用的語音算法,但只有B/C看起來,Metaphone是最好的和最常用的。但我們也樂於接受有關其他算法的建議。
謝謝。
非常詳細和有益的迴應,內特。不勝感激!我現在開始深入研究你的建議。僅供參考,關於「我們剛剛在我們的索引中實現了Metaphone算法」,Azure Search允許您從以下幾種不同的語音分析器算法中進行選擇:http://commons.apache.org/proper/commons-codec/archives/1.10 /apidocs/org/apache/commons/codec/language/package-summary.html我們已經實現了Metaphone。 – Stpete111