我们在Google自定义搜索的XML结果中对查询进行自动拼写检查时遇到问题。
拼写错误的查询会返回正确拼写的结果,例如socer
变为soccer
并返回正确的结果。在Google.com上,可以选择使用查询字符串中的nfpr=1
在原始查询中搜索结果。但是,这在Google自定义搜索中不起作用,我一直无法找到任何其他方法来搜索错误的拼写。
答案 0 :(得分:0)
对于标准Google搜索,可以通过将参数& nfpr = 1添加到查询网址来避免此行为。
对于基于AJAX API的自定义搜索,遗憾的是这是不可能的。我找到的唯一方法是使用javascript来解析用户的查询,然后使用正则表达式在每个尚未引用的单词周围加上引号。例如,如果收到的关键字是
“bmw z4”手册
您可以将其更改为
“bmw z4”“manual”
除了禁用自动校正外,具有相同的效果。不幸的是,如果你想处理高级逻辑语法(AND,OR,|, - 等)的所有特殊情况,你的正则表达式会有点复杂。
我自己,我只是解析谷歌的回复,看看是否发生这种情况,如果是,请通知用户如何防止它(通过在违规词周围加上引号)。