solr - 如何通过键盘类型链接 solr 请求?
问题描述
Solr 被用作第三方系统的搜索引擎。有时客户会用错误的键盘布局输入他们的请求,例如俄语单词“привет”(hi)的输入类似于“ghbdtn”。我正在寻找可能的 SOLR 可用性,以将其转换为正确的键盘布局。
我尝试了几个过滤器,例如 SnowballPorterFilterFactory 和 SynonymFilterFactory 但很难为所有情况填充同义词
是否可以为此任务调整 SOLR 或者我应该将转换转换为其他系统?
我将不胜感激任何建议。如果我要求可以在 java 中修复 - 请提供适当的库
解决方案
您可以将 MappingCharFilter 添加到处理链中。第一步是使用 MappingCharFilter 添加新的字段类型,然后使用copyField
指令将相同的数据也放入新字段。
映射文件将是两个键盘布局之间的一组字符映射:
"п" => "g"
"р" => "h"
"и" => "b"
.. ETC。
qf
然后,您还可以通过在 edismax 查询中使用权重来为新字段评分低于正确字段。
推荐阅读
- xaml - UWP 视觉状态管理器不适用于 PointerOver 和 Pressed 状态
- reactjs - 如何测试调度功能?
- python - Peewee bulk_create 返回 id
- prestashop-1.7 - 将翻译变量添加到 prestashop 1.7
- bash - 如何使用无尽的 gstreamer 视频流创建环形缓冲区
- android-studio-3.5 - 在 Android Studio 3.5 中没有找到任何插件市场
- spring-boot - ConnectionClosedException:使用 apache hhtpclient 4.5.5 的块编码消息正文过早结束
- loops - 如何同时循环并继续运行脚本(自动热键)
- postgresql - 使用 typeorm 进行跨模式连接
- sql - 这个带有别名表的可疑 SQL 更新语法是否正确?