Kibana 用户指南(分析查询和聚合)

分析查询和聚合

Elasticsearch具备强大的分析器API,可用于检查和分析你的搜索查询,然而,响应是一个很是大的JSON blob,很难手工分析。html

X-Pack包含Search Profiler工具,能够将此JSON输出转换为易于导航的可视化,使你可以更快地诊断和调试性能较差的查询。ios

overview.png

入门

在Kibana中自动启用搜索概要分析器,它位于Kibana的Dev Tools选项卡下。浏览器

要开始分析查询:elasticsearch

  1. 在Web浏览器中打开Kibana并登陆,若是你在本地运行Kibana,请转到http://localhost:5601/
  2. 单击侧面导航中的DevTools以打开Search ProfilerConsole是首次访问DevTools时打开的默认工具。
    gs1.png
    在顶部导航栏上,单击第二项:Search Profiler
    gs2.png
  3. 这将打开Search Profiler界面。
    gs3.png
  4. 将默认的match_all查询替换为你要分析的查询,而后单击Profile
    gs4.png
    Search Profiler显示搜索的索引的名称,每一个索引中的分片以及查询所花费的时间,如下示例显示了对match_all查询进行概要分析的结果,搜索了三个索引:.monitoring-kibana-2-2016.11.30.monitoring-data-2test编辑器

    若是咱们仔细查看测试索引的信息,咱们能够从累积时间看到查询花了0.132ms来执行,在索引中的五个碎片中(DWZD0iosQNeJMTvb4q1JDw 0到5),碎片3是最慢的(0.053ms),其次是碎片2(0.038ms),碎片按时间降序排序。ide

    gs5.png

    Cumulative Time指标是各个分片时间的总和,它不必定是查询返回的实际时间(挂钟时间),因为可能在多个节点上并行处理分片,所以挂钟时间可能远远小于累积时间,可是,若是碎片在同一节点上并置并串行执行,则挂钟时间更接近累积时间。

    虽然Cumulative Time指标对于比较索引和碎片的性能颇有用,但它并不必定表明实际的物理查询时间。工具

  5. 要查看碎片的更详细分析信息,请单击“展开”按钮,这将显示有关在碎片上运行的查询组件的详细信息。

    在此示例中,在碎片上运行了一个“MatchAllDocsQuery”,因为它是惟一的查询运行,所以它占用了100%的时间,当你将鼠标悬停在一行上时,“搜索概要分析器”会显示有关查询组件的其余信息。性能

    gs6.png

    该面板显示了低级Lucene方法的时序细分,有关更多信息,请参阅时序细分的参考文档。测试

分析更复杂的查询

要了解查询树在搜索概要分析器中的显示方式,让咱们看一个更复杂的查询。ui

  1. 索引如下数据:

    POST test/test/_bulk
    {"index":{}}
    {"name":"aaron","age":23,"hair":"brown"}
    {"index":{}}
    {"name":"sue","age":19,"hair":"red"}
    {"index":{}}
    {"name":"sally","age":19,"hair":"blonde"}
    {"index":{}}
    {"name":"george","age":19,"hair":"blonde"}
    {"index":{}}
    {"name":"fred","age":69,"hair":"blonde"}
  2. 在查询编辑器上方的索引过滤器中输入"test"(带有灰色_all的输入框),这会将分析查询限制为test索引。
    gs7.png
相关文章
相关标签/搜索