elasticsearch - 在Kibana Discover中使用Elastic Query DSL启用more_like_this等

标签 elasticsearch kibana querydsl

Kibana文档说:

When lucene is selected as your query language you can also submit queries using the Elasticsearch Query DSL.



但是,每当我尝试在“发现” Pane 中输入这样的查询时,都会收到解析错误。这些查询在“开发工具” Pane 中运行良好。

例如,如果我尝试像这样的简单查询:
{"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"
    }
  }
}

在开发工具控制台中。

我希望使用“发现”面板中的more_like_this查询,因​​此(我认为)我将需要使用查询DSL,而不仅仅是使用直接的Lucene查询语法。但是,如果有一种使用特殊查询的方法,例如使用直链lucene(或kuery),那将是很好的。

最佳答案

原因很简单,因为输入框仅支持query部分中包含的内容,因此,如果输入此内容,它将起作用:

{"match_phrase":{"summary":"stochastic noise"}}

如果您考虑一下这是有道理的,即aggs部分在“发现” Pane 中没有任何意义,并且默认设置已经处理了from/size属性。

如果查看完整的查询DSL,您会看到有几个部分:queryaggsfromsize_sourcehighlight等。在Discover Pane 中,您只应指定query部分中的内容其他。

关于elasticsearch - 在Kibana Discover中使用Elastic Query DSL启用more_like_this等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49696892/

相关文章:

elasticsearch - 如何使用NEST搜索默认索引?

elasticsearch - Nest 1.0不会暴露碎片失败的原因

elasticsearch - 如何使用 RESTful API 在 Kibana 中导入/导出仪表板

java - 在 MongoDB 中使用 QueryDSL - java.lang.NoClassDefFoundError

java - 使用 Spring JPA 存储库和查询 DSL 进行动态投影

elasticsearch - GET列出ElasticSearch5上的所有索引

Elasticsearch 聚合按每个桶的前一个结果过滤

elasticsearch - Kibana仪表板显示了空的可视化,但可视化本身有效

nginx - worker_connections 还不够

java - 如何使用Querydsl的Q类?