2010-09-28 75 views

回答

7

這就是所謂的Word Stemming。當文本被編入索引時,單詞被「阻止」到它們的「根」。因此,戰鬥變成了戰鬥,滑雪變成了滑雪,跑步變得奔跑等等。對於用戶在搜索時輸入的文本也做了同樣的事情,因此當搜索項與索引中的值相比時,它們匹配。

Lucene項目支持這個。我不認爲它是一個高級功能。特別是在Google預期的情況下。

1

這是搜索的基本功能引擎,而不僅僅是一個程序,您的查詢與一組預定義的結果相匹配。

如果你有時間,this是一個很好的閱讀,所有關於不同的算法,以及它們是如何實現的。

4

檢查複數是詞幹的一種形式。詞幹是搜索引擎和其他文本匹配的常見特徵。請參閱維基百科頁面:http://en.wikipedia.org/wiki/Stemming以瞭解執行干擾的多種算法。

+3

爲什麼-1,沉默刺客? – 2010-09-28 19:44:45

3

通常當一個人建立了一個搜索引擎來搜索文本,一個將構造一個查詢是這樣的:

SELECT * FROM TBLMOVIES WHERE NAME LIKE '%ALIEN%' 

這意味着子ALIEN可以在NAME領域的任何地方出現,所以你」我會找回像ALIENS這樣的字符串。

3

當單詞索引時,它們被索引爲根形式。例如,對於「外星人」,「外星人」,「外星人」,「外星人」等都被存儲爲「外星人」。

而當單詞是搜索搜索引擎時,也只搜索根形式「異形」。

這通常被稱爲波特干擾算法。你可以在這裏下載你喜歡的語言的實現 - http://tartarus.org/~martin/PorterStemmer/