我有一个包含文本字段的表,根据行,字段中有大约3到4个句子。从mysql中的文本字段中提取特定单词
现在,我正在制作一个自动完成的html对象,并且我想开始输入单词的开头,并且数据库返回以数据库文本字段中的那些字母开头的单词。文本字段的
例子:我喜欢fishsticks,fishhat也很棒
在我的自动完成,如果我可以键入“鱼”,将提出“fishsticks”和“fishhat”
一切正常但查询。
我可以很容易找到包含特定单词的行,但我无法只提取单词,而不是全文。
select data_txt from mytable match(data_txt) against('fish', IN BOOLEAN MODE) limit 10
我知道它很脏,但我无法重新排列数据库。
谢谢你的帮助!
编辑:
这里是我,感谢布伦特·沃登,这是不干净的,但它的工作原理:
SELECT DISTINCT
SUBSTRING(data_txt,
LOCATE('great', data_txt),
LOCATE(' ' , data_txt, LOCATE('great', data_txt)) - LOCATE('great', data_txt)
)
FROM mytable WHERE data_txt LIKE '% great%'
LIMIT 10
如何避免反复使用同一LOCATE
表达任何想法?
你在你的表格应用SQL全文搜索的价值? – Majd 2011-03-03 19:06:17