让我们说文字中有'ABCD1234EF'字样。现在要找到它,我必须匹配确切的单词。目标是通过'ABCD1234EF','ABCD','1234'或'EF'字符串找到它。不是'CD12'或类似的东西。参数'ft_min_word_len'设置为1。
这是创建第二列并存储拆分值的唯一选择吗?它可以由MySQL完成吗?
我在MySQL网站http://dev.mysql.com/doc/refman/5.1/en/full-text-plugins.html上找到了一些东西。但它带来的问题多于它解决的问题。
答案 0 :(得分:0)
我认为最简单的方法是使用SQL将输入字符串拆分为三个单独的列(可能基于something like this)。
编写您自己的全文插件实质上会将此逻辑移至较低且具有不确定的附加值(reference):
主解析函数
simple_parser_parse()
充当内置全文解析器的替代品,因此需要将文本拆分为单词并将每个单词传递给服务器。
这也回答了你的第一个问题:这个程序取代了全文解析器(不是SQL解析器,如果这是你的问题)。
MySQL compilation instructions提供特定于Windows的步骤。