我有一个巴西葡萄牙语网站。我正在使用Elasticsearch来运行我们的网站搜索。
当访问者从我们的网站搜索时,一切正常,但codebasehq给出了一些例外(错误):Tire :: Search :: SearchRequestFailed
nested: JsonParseException[Invalid UTF-8 middle byte 0x72\n at [Source: [B@42dcdefd; line: 1, column: 46]]; }]","status":500}
这些错误只来自我不知道这些链接在哪里的网址,例如:
?q=Acess%F3rios (error)
?q=Acessórios (ok)
?q=Acess%C3%B3rios (ok)
我不知道如何修复此错误,我正试图停止在codebasehq中生成错误。
答案 0 :(得分:0)
错误似乎来自Elasticsearch,它会因收到的无效JSON而跳闸。
一般来说,Tire可以很好地处理搜索中的重音字符:
# encoding: UTF-8
require 'tire'
s = Tire.search do
query { string 'Žluťoučký' }
end
p s.results
您应该使用以下命令启用轮胎记录:
Tire.configure { logger STDERR, level: "debug" }
或使用Rails logger,找到有问题的JSON,调试它,并在此处发布更多信息。