【发布时间】:2010-10-09 18:09:45
【问题描述】:
所以,我需要了解如何在 MySQL 数据库上进行全文布尔搜索,以返回包含术语“C++”的记录。
我的 SQL 搜索字符串为:
SELECT *
FROM mytable
WHERE MATCH (field1, field2, field3)
AGAINST ("C++" IN BOOLEAN MODE)
虽然我的所有字段都包含字符串 C++,但它从未在搜索结果中返回。
如何修改 MySQL 以适应这种情况?可能吗?
我找到的唯一解决方案是在输入我的数据的过程中转义 + 字符,例如“__plus”,然后修改我的搜索以适应,但这似乎很麻烦,必须有更好的方法。
【问题讨论】:
-
什么是全文布尔搜索?听起来很像你编造的那个词。另外,你的问题很模糊。您需要更好地描述您的问题,您正在尝试做什么。否则我们帮不了你。
-
@John:你太苛刻了。我不得不避免链接到 lmgtfy,所以这里是 MySQL 的解释:dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html
-
@A.雷克斯 - 我是邪恶的(在某种意义上)我的观点我觉得很苛刻,但问题是缺乏关于你如何表达一个好问题的问题。因此,我们(堆栈溢出的人)无法根据信息不足提供好的答案。
-
这个词对于有足够知识来回答这个问题的 MySQL 用户来说是众所周知的。
-
@John Fulltext boolean 很好地描述了一种众所周知的 MySQl 搜索类型。
标签: mysql search escaping full-text-search boolean