mysql - 从列中计算匹配参数中的多个单词
问题描述
我有一个表advertisement
,它有两列caption
, 和description
。所以我想找到与用户搜索匹配的所有广告。因此,假设该表有 2 条记录。
ID | 标题 | 描述 |
---|---|---|
1 | 好吃好吃 | 披萨很好吃 |
2 | 新披萨 | 美味的比萨很好吃 |
因此,假设用户搜索delicious pizza
,我们需要计算每行匹配的单词数。所以输出应该是,
ID | 标题 |
---|---|
1 | 3 |
2 | 4 |
我们需要组合它们caption
,description
然后将它们与每个单词匹配。我可以使用以下查询进行单个单词搜索,但卡在了这个
CHAR_LENGTH(a.caption) - CHAR_LENGTH(REPLACE(a.caption, @searchParam, SPACE(LENGTH(@searchParam)-1))) AS matchingCount
有什么帮助吗?我正在使用 MySql
解决方案
推荐阅读
- java - Java - 检查部分对象相等性
- javascript - 在 Javascript 中将比较 (< >) 运算符与非数字字符串一起使用
- javascript - 如何从角度的表单对象中获取验证错误?
- apache-spark - spark:将有序数据保存到镶木地板
- java - 在java中,可运行事务安全吗?
- laravel - 如何验证 laravel 数组验证并使用输入字段显示消息
- c++ - Surface Pro 平板电脑上的 QML 应用程序键盘行为
- javascript - Switch 无法“按预期”处理数字
- css - 如果使用 Bootstrap 响应表溢出,则滚动表
- python - 奇怪的 JSONDecodeError