У меня есть индекс поиска elasticsearch '- внутри этого индекса есть тип' event '.elasticsearch не может запросить путь в ruby
объекты события имеют место «», который имеет различные свойства, в том числе «имя» - так упрощенная структура:
event {
venue {
name: "foo"
}
}
Теперь я использую elasticsearch поручни - все отлично работает для включения в список события, поиск и т. д., используя запрос dsl - но что, если я хочу перечислить все события в месте проведения с определенным именем?
Я предполагаю, что-то, как это должно быть возможно:
Event.search "{ 'query': { 'match': { 'venue.name': '#{params[:v]}' }}}
, но я получаю следующее сообщение об ошибке:
Elasticsearch::Transport::Transport::Errors::BadRequest
с последующей значительной трассировкой стеки, который содержит много такого рода вещь:
Was expecting one of:\n \"]\" ...\n \"}\" ...\n ];
ParseExceptions предлагает неправильный json - но я не уверен, почему.
Простой поиск
Event.search '{"query" : { "match_all" : {} }}'
работает отлично, так что я предполагаю, что это просто структура запроса, что это неправильно.
Я попытался переключения одинарные/двойные кавычки, попытался следующее более внимательно пример на этой странице:
https://www.elastic.co/guide/en/elasticsearch/guide/current/denormalization.html
все без толку, спрашивает, если кто-то еще сталкивался с такой ситуацией, и можно предположить, как работать в рубине.
работает отлично, спасибо - я был уверен, что пробовал это точное решение, но не должен. в любом случае, спасибо – freeloader