2013-06-04 63 views
0

我在巴西葡萄牙语有一个网站。我使用Elasticsearch来运行我们的网站搜索。带轮胎的ElasticSearch中的ASCII字符

当游客从我们的网站,一切正常进行搜索,但codebasehq给予一定的异常(错误)是这样的:轮胎::搜索:: SearchRequestFailed

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

这些错误只能从我不想网址来到”知道哪里是这些链接,例如:

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

我不知道如何解决这个错误,我试图停下来生成,在codebasehq错误。

回答

0

该错误似乎来自Elasticsearch,它在接收到无效的JSON时跳闸。

一般来说,轮胎处理重音的字符在搜索就好:

# 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,调试它,并可能在此发布更多信息。

+0

在我的网站是好的,重音字符的作品。但我不知道Google如何抓取这些链接,如果这些类型的字符不存在于我的应用程序中。在某些情况下,Google必须转换这些字符。我不知道。 –

+0

@OsnyNetto你使用什么类型的查询,字符串查询?如果您选择“匹配”查询呢?你能发布完整的查询吗? – karmi