mysql 全文 短词忽略 问题_忽略查询中的mysql全文停用词

我正在构建一个使用全文搜索的网站搜索.搜索本身效果很好,这不是我的问题.我将用户提供的关键字(MATCH … AGAINST …)与AND串起来,以便多个单词进一步缩小结果范围.现在,我知道某些停用词没有编入索引,对我来说没关系,我真的不想将它们用作选择标准.但是,如果关键字集(由用户)提供了一个停用词,它会杀死所有结果(如预期的那样),即使该单词实际上在某个文本块中也是如此.

我的问题:有什么方法可以检查某个单词在查询时是否为停用词?我的首选解决方案只是从搜索条件中排除相关的单词(我不在乎用户是否可以通过’不’这个词缩小结果,我只是不希望MySQL返回空结果集,因为用户提供它,即使结果中也不存在).或者,我只是要清空禁用词列表?非常感谢您的帮助.

编辑—-

对不起,但是真的没有代码片段可以提供这个.代码工作正常,实际上完全符合预期.这更像是我正在处理的逻辑问题.但作为一个例子,在解释的方式:

假设有三条记录,其中包括单词(但不限于此)

1:苹果,橘子,芒果,香蕉

2:葡萄,橙子,菠萝,芒果

3:土豆,芒果,甜瓜,凯拉骑士

如果用户输入的搜索词是芒果,则会正确返回所有结果.如果单词是橙色和芒果,则返回结果1和2(正确).现在,假设香蕉是一个停用词(它不是……但我们假设它是),如果搜索是橙色,芒果和香蕉,则不返回任何结果(因为香蕉不在全文索引中).

我正在寻找的是,如果有其他人遇到过这个问题,并且有办法解决它.排序:

if 'banana' NOT STOP WORD match 'banana' against `words`. (OBVIOUSLY not real code).

或者……我只是要删除禁用词列表……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值