【发布时间】:2019-04-12 08:31:12
【问题描述】:
假设我们有一个搜索输入字段。我们的用户有两种键盘布局(En)(Fa):
有时用户忘记更改键盘布局,
所以而不是 => "سلام"
输入 => “sghl”。
在这种情况下,谷歌几乎可以检测到问题,并提供正确的结果。
首先,我不知道这个算法叫什么名字。
我在https://searchengineland.com/how-google-instant-autocomplete-suggestions-work-62592 中搜索并找到“Google Instant 的自动完成”,但不是我的情况,
检查我的屏幕截图:https://imggmi.com/full/2019/4/12/b411bcbe08dcd1eb02a46487e836a0b2-full.png.html 我写的是“لخخلمث”而不是“google”,但 google 提供了正确的结果。
第二个也是主要问题,我在https://www.npmjs.com/package/convert-layout 中找到了“convert-layout”,这正是我所需要的。它的'fromEn()'函数将错误的输入改正,
因为我的项目是有角度的,所以我写:
declare var require:any;
var fa = require('convert-layout/fa.js');
let correct = fa.fromEn('sghl');
我希望得到“سلام”,但返回的是“س`شا”而且不正确。
我在https://github.com/ai/convert-layout/blob/master/fa.json 中检查了源代码并且地图是正确的:
"s": "س",
"g": "ل",
"h": "ا",
"l": "م",
有什么问题?
【问题讨论】:
-
我不认为谷歌有一个特定的算法,相反,我认为他们会注意到大多数搜索“sghl”的人不会点击结果中的任何链接并搜索紧随其后的“سلام”
标签: javascript angular farsi