是否可以不使用全文索引,我们可以根据关键字搜索大表吗?
我想搜索字词Country man working
并返回以下结果:
答案 0 :(得分:1)
创建一个表格,包含字典中的所有单词,减去噪音单词。
创建一个表,将字典关键字表链接到数据表
编写一些代码以在链接表中创建记录,其中字典中的单词出现在您要搜索的表的文本列中。
然后你可以这样搜索:
SELECT T.TextStuff
FROM KeywordTable AS K
JOIN LinkTable AS L ON L.KeywordID = K.KeywordID
JOIN TableToSearch AS T ON T.KeyWordID = L.KeywordID
WHERE K.Keyword = 'Country'
OR K.Keyword = 'man'
OR K.Keyword = 'working'
这只是伪代码,但希望它能证明这个想法。设置耗时,但应该比做一堆LIKE更好。
总而言之,您希望查看一个表格,其中每行有一个单词,您想要在链接表中找到匹配的单词,并且从那里您可以到达原始表格中的记录。 / p>
答案 1 :(得分:0)
这应该返回您所需的结果:
SELECT *
FROM TABLE
WHERE Field LIKE '%country%'
OR Field LIKE '%man%'
OR Field LIKE '%working%'
虽然不能保证速度......
评论中的注释 - 这实际上不是这样做的方法。全文索引是使用的方法,但您没有详细说明为什么它不是一个选项。