我想使用mysql的全文索引使用多个搜索词搜索数据库:
SELECT description FROM `products` WHERE match(name, description) against('*ana* *apple*' IN BOOLEAN MODE)
字符串我希望上面的查询返回以下记录,但它不会工作:
babana pieappletfried bananasjuicy apples
babana pie
applet
fried bananas
juicy apples
型我的查询可以吗?
pgx2nnw81#
您可能遇到了全文的限制,即出现在超过%的记录中的单词被认为是“噪音”并被忽略。“香蕉”和“苹果”都出现在50%的样本记录中,因此很可能不是很好的匹配。尝试将其他水果添加到测试数据中,并搜索更“罕见”的东西。
kx7yvsdv2#
你只会得到苹果相关的记录,这是因为在一个词之前,(eg:ana)对于一个短语(eg:“苹果禁令”)在MySQL FTS中不支持。如果在单词之前给出了大小写,它将被忽略,并且对于短语大小写,将返回错误。
2条答案
按热度按时间pgx2nnw81#
您可能遇到了全文的限制,即出现在超过%的记录中的单词被认为是“噪音”并被忽略。“香蕉”和“苹果”都出现在50%的样本记录中,因此很可能不是很好的匹配。尝试将其他水果添加到测试数据中,并搜索更“罕见”的东西。
kx7yvsdv2#
你只会得到苹果相关的记录,这是因为在一个词之前,
(eg:ana)
对于一个短语
(eg:“苹果禁令”)
在MySQL FTS中不支持。如果在单词之前给出了大小写,它将被忽略,并且对于短语大小写,将返回错误。