1

我正在尝试调整全文(布尔)查询。如果一个词包含在一行中,是否可以将行排名更高,但将该词用作搜索查询的一部分?

因此,如果它包含关键字奶酪,但不主动搜索术语奶酪,我想排名更高?

目前我使用类似的东西searchterm >cheese*,但我相信它仍然会实际搜索这个词cheese吗?

这产生的问题是,如果没有结果,它仍然会显示基于cheese. 我只希望它被用作改进结果的方法,而不是被搜索的东西。

black >cheese*可能会返回根本不包含黑色但包含单词 cheese 的行。

4

1 回答 1

1

您可以尝试使用+test cheese. 文档说明结果必须包含test,但如果它们也包含cheese,则排名更高。

一个示例查询:

SELECT 
  MATCH (name) AGAINST ('+test cheese' IN BOOLEAN MODE) AS relevance, 
  t.* 
FROM 
  test AS t 
WHERE 
  MATCH (name) AGAINST ('+test' IN BOOLEAN MODE) 
ORDER BY relevance DESC;

您可以在http://sqlfiddle.com/#!2/6e5f8/4查看

文档: http ://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

于 2013-03-08T13:28:29.530 回答