首页 > 解决方案 > 如何通过键盘类型链接 solr 请求?

问题描述

Solr 被用作第三方系统的搜索引擎。有时客户会用错误的键盘布局输入他们的请求,例如俄语单词“привет”(hi)的输入类似于“ghbdtn”。我正在寻找可能的 SOLR 可用性,以将其转换为正确的键盘布局。

我尝试了几个过滤器,例如 SnowballPorterFilterFactory 和 SynonymFilterFactory 但很难为所有情况填充同义词

是否可以为此任务调整 SOLR 或者我应该将转换转换为其他系统?

我将不胜感激任何建议。如果我要求可以在 java 中修复 - 请提供适当的库

标签: solr

解决方案


您可以将 MappingCharFilter 添加到处理链中。第一步是使用 MappingCharFilter 添加新的字段类型,然后使用copyField指令将相同的数据也放入新字段。

映射文件将是两个键盘布局之间的一组字符映射:

"п" => "g"
"р" => "h"
"и" => "b"

.. ETC。

qf然后,您还可以通过在 edismax 查询中使用权重来为新字段评分低于正确字段。


推荐阅读