为什么mysql全文搜索忽略了?

时间:2018-01-16 12:17:21

标签: mysql full-text-search

我在mysql中使用全文搜索(string列有FULLTEXT - 索引),但是真的很惊讶,相当明显的匹配是如何排序的,但不相关的是更好的排名或更高的顺序:< / p>

mysql> SELECT r_nr,string,  MATCH( string ) AGAINST( 'Tuhat üks ööd' ) AS score FROM raamat.sonaotsing WHERE MATCH( string ) AGAINST( 'Tuhat üks ööd' ) LIMIT 10;
+--------+-------------------------------------------------------------------------+--------------------+
| r_nr   | string                                                                  | score              |
+--------+-------------------------------------------------------------------------+--------------------+
|  54815 | Tuhat üks ööd 1932 Noor Eesti                                           |  7.703660488128662 |
|  26844 | Tuhat üks ööd 2006 994940990x 9789949409907 Pegasus                     | 7.6198859214782715 |
|  83249 | Tuhat fakti Nõukogude Eestist 1976 Perioodika                           | 7.5379133224487305 |
|  32090 | Tuhat üks viirastust 1997 Alexandre Dumas Athena                        | 7.5379133224487305 |
|  11052 | Ja üks päev on lihtsalt tuhat ööd 2002 Ly Gunnaritütar 9985787765       | 7.5379133224487305 |
|  20826 | Tuhat üks ööd Valitud lugusid I II 1984 Eesti Raamat                    | 7.5379133224487305 |
|  38774 | Tuhat roosi 1995 Bethany Campbell Kuldsulg                              | 7.5379133224487305 |
|  50706 | Tuhat üks ööd Valitud lugusid 1984 1 osa Eesti Raamat                   | 7.5379133224487305 |
| 186004 | Tuhat üks ööd Hommikumaa muinasjutud 1911 O Rudolph J ja A Paalmann     | 7.5379133224487305 |
| 175832 | Jeesus toitis viis tuhat meest Loe ja värvi 1991 Ra                     |  7.457685470581055 |
+--------+-------------------------------------------------------------------------+--------------------+

我无法弄清楚为什么第3,4,5和7行具有相同的匹配分数为6,8和9.第3行只包含查询中的一个单词,第4行只包含2和第5行包含所有3但是顺序不同而且顺序不同。根据我的理解,第1,2,6,8和9行应该在匹配时排在第5位,而不是特别按此顺序排列。

我是否想念一些明显的东西?

1 个答案:

答案 0 :(得分:0)

某种方式很明显:我有默认配置(对于Myisam表)4最小字长,因此忽略了三个字母的单词('üks'和'ööd')。

改变移民后

ft_min_word_len = 3

我得到了更好的结果,但仍有一些奇怪的行比简单得分更好,噪音/匹配率更低。但这是另一个故事。