我有一个elasticsearch索引'事件' - 在该索引内有'事件'类型。elasticsearch无法查询红宝石路径
事件对象有一个“场地”,这具有各种属性,包括“名称” - 这样的简单结构为:
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