0

我有一个巴西葡萄牙语的网站。我正在使用 Elasticsearch 来运行我们的站点搜索。

当访问者从我们的网站搜索时,一切正常,但 codebasehq 给出了一些异常(错误),如下所示:Tire::Search::SearchRequestFailed

nested: JsonParseException[Invalid UTF-8 middle byte 0x72\n at [Source: [B@42dcdefd; line: 1, column: 46]]; }]","status":500}

这些错误仅来自我不知道这些链接在哪里的 URL,例如:

?q=Acess%F3rios (error)
?q=Acessórios (ok)
?q=Acess%C3%B3rios (ok)

我不知道如何解决这个错误,我正试图停止在 codebasehq 中生成该错误。

4

1 回答 1

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 记录器,找到有问题的 JSON,对其进行调试,并可能在此处发布更多信息。

于 2013-06-05T14:07:46.963 回答