2010-02-23 24 views
7

我目前正在嘗試爲我的網站開發一個基本的全文搜索,並且我注意到像「有關」這樣的特定單詞被列爲MySQL全文搜索的停用詞。由於搜索給定新聞項目的人不一定會使用「有關」一詞進行搜索(但我當然不能爲所有人說話),所以這並不會讓我感到太麻煩。不過,我希望這裏有人能夠啓發我關於制定停用詞表的理由。謝謝!MySQL全文搜索Stopwords理由

For Clarification: 我使用MyIsam作爲我的全文表格。停用詞是MySQL不會索引的詞(適用於任何全文索引)。正如對這個問題的評論所指出的那樣,沒有任何形式的解釋就有完整的停用詞表。我只想知道他們選擇的單詞背後是否有理由。

+0

你想使用mySQL進行搜索嗎?你會不會更快樂地執行其他事情? – Layke 2010-02-23 18:53:02

+0

@Laykes我可能會更高興使用不同的框架。我現在正在非常保守地開發,因爲我沒有控制我正在開發的服務器。我也不需要對我的網站進行非常高級的搜索。無論哪種方式,我仍然對停用詞表感到好奇。 – 2010-02-23 18:57:44

+1

奇怪,我從來不知道停用詞 - 這裏是一個完整列表,但沒有解釋:http://dev.mysql.com/doc/refman/5.1/en/fulltext-stopwords.html – 2010-02-23 19:10:01

回答

8

停用詞只是英語中的常用詞。在大多數情況下,如果您不索引這些詞,您的搜索結果將更加相關 - 而且您的索引將更小且更快。

如果更適合您的需求,您可以使用ft_stopword_file變量(或將其設置爲''以將所有單詞索引爲長或長於ft_min_word_len的索引]編輯停用詞列表。您還可以使用ft_min_word_len變量來更改最小索引字長度,該變量存在的原因相同。

+0

感謝您的洞察力! – 2010-02-24 13:48:37