1
我想知道是否有方法可以选择相关性分数作为列?所以我可以存储以供以后操作mysql全文有没有一种方法来选择相关性作为列?
也有任何方法(用于故障排除)来确定为什么一行获得相关性?或什么词匹配。例如,当我使用WITH QUERY EXPANSION
时,我得到了结果,我不知道它们为什么匹配。
我想知道是否有方法可以选择相关性分数作为列?所以我可以存储以供以后操作mysql全文有没有一种方法来选择相关性作为列?
也有任何方法(用于故障排除)来确定为什么一行获得相关性?或什么词匹配。例如,当我使用WITH QUERY EXPANSION
时,我得到了结果,我不知道它们为什么匹配。
Re 1)是的。看到examples in the mySQL docs:
mysql> SELECT id, body, MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root') AS score
-> FROM articles WHERE MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root');
+----+-------------------------------------+-----------------+
| id | body | score |
+----+-------------------------------------+-----------------+
| 4 | 1. Never run mysqld as root. 2. ... | 1.5219271183014 |
| 6 | When configured properly, MySQL ... | 1.3114095926285 |
+----+-------------------------------------+-----------------+
2 rows in set (0.00 sec)
重新2)不,不我所知。
查看手册页上的注释,有几个陷阱可以解释为什么在查询中得到零结果的原因应该是返回更多的结果。
WITH WITH QUERY EXPANSION'通常是无用的,除非你有一个_very_short_句子的集合。您可以使用命令行实用程序'myisam_ftdump'检查一些权重,但这就像'调试'一样。 – Wrikken 2010-07-13 23:00:29