我选择全文搜索
SELECT * FROM datatable WHERE MATCH(field1, field2, field3, field4)
AGAINST('C 100 330 00 75*' IN BOOLEAN MODE)
C100 330 00 75 in field2,in field1相同的数据,但没有空格 C1003300075,在field3数据中,如“我们在这里”,或“delta star”。
为field2的所有字段选择工作 - (C 100 330 00 75)。 那有什么不对?如果我在搜索之前删除空格,它将影响另一列。我需要搜索,因为用户将输入空格而不是空格。
有什么建议吗? 感谢
答案 0 :(得分:1)
有两个直接的错误。默认情况下:
您可以查看有关微调MySQL全文搜索的documentation。调整后,您需要重建索引以存储您想要的内容。
答案 1 :(得分:1)
在Boolean Full-Text Searches 无操作符之前,单词表示:
默认情况下(当既未指定+也未指定时),该单词是可选的,但包含它的行的等级更高。这模仿了没有IN BOOLEAN MODE修饰符的MATCH()... AGAINST()的行为。