2012-03-02 96 views
0

我有一個奇怪的問題 - 我使用MySQL 5.1,並與Fulltable指數表。在mysql配置中,ft_min_word_len設置爲2(因此,至少有兩個字符的長度被編入索引)。MySQL的:對陣沒有顯示所有結果

的下面查詢是簡化的,但具有與原相同的效果。

當我搜索:

SELECT company FROM my_table WHERE MATCH (company) AGAINST ('intern*' IN BOOLEAN MODE) 

我得到公司與它的名稱爲「國際行動;」 - 如「國際公司」,「Internship.org」。

然而,當我搜索:

SELECT company FROM my_table WHERE MATCH (company) AGAINST ('just*' IN BOOLEAN MODE) 

我沒有得到任何結果,雖然在表中「正義&旅行」的條目。

但是,當我搜索:

SELECT company FROM my_table WHERE MATCH (company) AGAINST ('travelling*' IN BOOLEAN MODE) 

我得到的 「正義&旅行」 -entry /正確的結果。

如果我用LIKE %just%而不是MATCH-AGAINST搜索,我也會得到正確的結果。

沒有任何人有一個想法,爲什麼我沒有得到正確的結果在第二個提到的查詢?

+0

有你:
ft_stopword_file =「」

更多詳情,您可以通過以下鏈接找到檢查'只是'不是一個保留字? – BenOfTheNorth 2012-03-02 09:27:17

+0

是的,我找不到它的列表中http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html上 – Stefan 2012-03-02 13:15:38

回答