Kibana文档说:
当选择lucene作为查询语言时,您也可以提交 使用Elasticsearch Query DSL进行查询。
但是,每当我尝试在“发现”窗格中输入此类查询时,都会出现解析错误。这些查询在“开发工具”窗格中正常工作。
例如,如果我尝试这样的简单查询:
{"query":{"match_phrase":{"summary":"stochastic noise"}}}
我收到以下错误:
Discover: [parsing_exception] no [query] registered for [query], with { line=1 & col=356 }
Error: [parsing_exception] no [query] registered for [query], with { line=1 & col=356 }
at respond (http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:111:161556)
at checkRespForFailure (http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:111:160796)
at http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:105:285566
at processQueue (http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:58:132456)
at http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:58:133349
at Scope.$digest (http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:58:144239)
at Scope.$apply (http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:58:147018)
at done (http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:58:100026)
at completeRequest (http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:58:104697)
at XMLHttpRequest.xhr.onload (http://<mydomain>:5601/bundles/vendors.bundle.js?v=16602:58:105435)
(我已移除上面的域名并替换为<mydomain>
)
上述查询工作正常,并在命令行上使用cURL或使用
返回结果GET /_search
{
"query": {
"match_phrase": {
"summary": "stochastic noise"
}
}
}
在Dev Tools控制台中。
我希望使用Discover面板中的more_like_this
查询,因此(我认为)我将需要使用查询DSL而不只是使用直接lucene查询语法。但是,如果有一种方法可以使用像直接lucene(或kuery)这样的专业查询,那将是很棒的。
答案 0 :(得分:4)
原因很简单,因为输入框仅支持query
部分中包含的任何内容,因此如果您输入此内容,它将起作用:
{"match_phrase":{"summary":"stochastic noise"}}
如果您考虑它是有道理的,即aggs
部分在“发现”窗格中没有意义,from/size
属性已由默认设置处理。
如果您查看完整查询DSL,您会看到有几个部分:query
,aggs
,from
,size
,{{1} },_source
等。在“发现”窗格中,您应该只指定highlight
部分中的内容,而不是其他内容。