背景
我有包含希腊字符的搜索索引。许多人不知道如何输入希腊语,所以他们输入了一个叫做“beta-code”的东西。Beta 代码可以转换为希腊语。例如,beta 代码“NO/MOU”将被转换为“νόμου”。斜线或括号等字符用于表示重音。
期望的行为
我希望用户能够使用希腊语脚本中的 beta 代码或文本进行搜索。我发现 Whoosh Variations类提供了我需要的机制,它几乎解决了我的问题。
问题
Variation 类运行良好,除非在用户查询中使用斜杠或括号表示重音。问题是查询被解析,以便用于表示重音的特殊字符导致单词被拆分。例如,搜索“NO/MOU”会导致 Variations 类被要求查找“no”和“mou”的变体,而不是“NO/MOU”。
问题
有没有办法影响查询的解析方式,以便在搜索词中包含斜杠和括号(即搜索“NO/MOU”会导致搜索“NO/MOU”的标记而不是“ no”和“mou”)?