Я пишу приложение Rails 3, используя Datamapper в качестве ORM. Я рассматриваю возможность использования ElasticSearch для поиска, но не могу использовать жемчужину Tire, поскольку она, похоже, зависит от ActiveRecord.
Я использую RestClient для отправки запросов в ElasticSearch, но у меня возникают проблемы с анализом ответа в ruby.
Если я отправляю запрос GET "http://localhost:9200/twitter/tweet/2
", я получаю в браузере следующее:
{
"_index": "twitter",
"_type": "tweet",
"_id": "2",
"_version": 3,
"exists": true,
"_source": {
"user": "kimchy",
"post_date": "2009-11-15T14:12:12",
"message": "kimchy kimchy says"
}
}
В Rails, когда я набираю следующее:
response = RestClient.get 'http://localhost:9200/twitter/tweet/2',{:content_type => :json, :accept => :json}
Я получаю этот результат:
{
"_index": "twitter",
"_type": "tweet",
"_id": "2",
"_version": 3,
"exists": true,
"_source": {
"user": "kimchy",
"post_date": "2009-11-15T14:12:12",
"message": "kimchy kimchy says"
}
}
Это выглядит правильно, но я не могу получить данные, используя точечную запись, как обычно с JSON.
Например, я не могу написать response._type
, так как получаю ошибку неопределенного метода.
Очень ценю любую помощь в этом!