Elasticsearch Facets:在_index上搜索没有返回任何结果

时间:2014-11-21 12:28:14

标签: elasticsearch kibana facets

我想通过index->按此顺序在ES上搜索数据by index_type->文本搜索数据 当我在“_index”上使用以下查询时,我希望获得该特定_index下的index_types列表以及相关数据,但它没有返回任何内容。另一方面,当我按_type搜索时,我得到了与index_type有关的数据。我哪里出错了?

curl -XGET 'http://localhost:9200/_all/_search?pretty' -d '{
      "facets": {
        "terms": {
          "terms": {
            "field": "_index",
            "size": 10,
            "order": "count",
            "exclude": []
          },
          "facet_filter": {
            "fquery": {
              "query": {
                "filtered": {
                  "query": {
                    "bool": {
                      "should": [
                        {
                          "query_string": {
                            "query": "*"
                          }
                        }
                      ]
                    }
                  },
                  "filter": {
                    "bool": {
                      "must": [
                        {
                          "terms": {
                            "_index": [
                              "<index_name>"
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      },
      "size": 0
    }'

注意:我首先在Kibana遇到了这个问题,我使用了过滤器“_index”:“name_of_index”;它没有返回任何结果,但“_type”:“name_of_index_type”返回了预期的结果。我发现Kibana在幕后使用上面的查询来获得我试过的过滤器的结果。

1 个答案:

答案 0 :(得分:0)

这是一个带有预过滤器的查询示例(&#34;查询&#34;:&#34; *&#34;)然后是必须和必须查询。然后resutlt用于进行聚合:

curl -XGET 'http://localhost:9200/YOUR_INDEX_NAME/_search?size=10' -d '{
    "query" : {
        "filtered" : {
            "query" : {
                "query_string" : {
                    "query" : "*"
                }
            },
            "filter" : {
                 "bool" : {
                    "must" : [
                        { "term" : { "E_RECORDEDBY" : "malençon, g."} },
                        { "term" : { "T_SCIENTIFICNAME" : "peniophora incarnata"  } }
                    ],
                   "must_not" : [
                     {"term" : {    "L_CONTINENT" : "africa"    } },
                     {"term" : {    "L_CONTINENT" : "europe"    } }
                   ]
             }
            }
        }
    },   
    "aggs" : {
        "L_CONTINENT" : {
            "terms" : {
                "field" : "L_CONTINENT",
                "size" : 20
            }
        }
    },
    "sort" : "_score"
}'