我必须查询存储在单独表中的超过100个单词(不区分大小写)。
Select a_id, text from xy
inner join keywords kw on contains(xy.text, kw.word)>0
这很好用。但现在我有一个必须查询区分大小写的关键字。
如果不创建区分大小写的索引并单独查询该关键字,有人知道如何做到这一点吗?是否可以忽略关键字,让我们说“我们”,并且只使用大写字母(“美国”)创建关键字索引。
我尝试将“我们”添加到停用词中,但它没有成功。
答案 0 :(得分:0)
将列case_sensitive char(1) -- Y/N
添加到keywords
表,然后:
select a_id, text
from xy
join keywords kw on contains(xy.text, kw.word) > 0
and (kw.case_sensitive = 'N' or instr(xy.text, kw.word) > 0)
索引仍将被使用,但对于区分大小写的关键字还有一个额外要求,即关键字必须在文本中逐字显示。