文章详情页
mysql - sphinx查询 "中国" 时也能查询到 "中华人民共和国"
浏览:113日期:2022-06-21 17:10:01
问题描述
sphinx初学者,有个疑问,之前没学sphinx的时候以为:查询 '中国' 时也能查询到 '中华人民共和国'查询 '大姨妈' 时也能查询到 '例假'查询 '苹果' 时也能查询到 'iPhone'类似这样的还有很多,网上没有找到相关的文章,不知该搜索什么关键词,所以在这里请教诸位,谢谢咯~~~如果支持,希望提供思路或操作步骤
问题解答
回答1:据我了解是不行的,因为sphinx是检索引擎+coreseek是中文分词功能,应该不具备这样的功能。
在sphinx.conf配置文件里也没看到相关,所以如果想要你所说的功能,应该是用其他的插件。
如果是纯粹提供一个思路的话:我们搜索出来的结果都不是直接展示出来的,而是要通过一个权重判断(增加权重字段),例如与中国相关的这些词中,权重最高的是中华人民共和国。其他词语也是一样,这样子应该能完成你想要得效果,纯粹mysql实现还比较容易,但在sphinx中比较难,因为它检索的逻辑都定死的。
回答2:想多了。sphinx只是根据关键词检索。近义词和相关词都是手动设计和智能机器学习来的。
回答3:这个叫搜索重写,最简单的方式是做一个别名表,先分词 -> 取别名 -> 归一化 -> 交给sphinx 查询。
相关文章:
1. html5 - 有可以一次性把所有 css外部样式转为html标签内style=" "的方法吗?2. sql语句 - mysql中关联表查询问题3. javascript - [js]为什么画布里不出现图片呢?在线等4. javascript - 如何将一个div始终固定在某个位置;无论屏幕和分辨率怎么变化;div位置始终不变5. javascript - vscode alt+shift+f 格式化js代码,通不过eslint的代码风格检查怎么办。。。6. html - vue项目中用到了elementUI问题7. javascript - 有什么比较好的网页版shell前端组件?8. javascript - iframe 为什么加载网页的时候滚动条这样显示?9. javascript - 这不是对象字面量函数吗?为什么要new初始化?10. javascript - 原生canvas中如何获取到触摸事件的canvas内坐标?
排行榜
