0

我想要一个只显示特定术语的方面。我已经尝试过 filter 和facet_filtertype terms,但都显示了与过滤器中给出的不同的其他术语terms

作为过滤器

{
    "query": {
        "filtered": {
            "query": { "match_all": {} },
            "filter": {
                "terms": { "text": [ "bogota", "antioquia", "medellin", "cali", "barranquilla", "bucaramanga", "cucuta", "pasto", "manizales", "caldas", "santander" ] }
            }
        }
    },
    "facets": {
        "dictionary": {
            "terms": {
                "field": "text",
                "size": "10"
            },
        }
    }
};

作为分面过滤器

{
    "query": {
        "match_all": {}
    },
    "filter": {
        "terms": { "text": [ "bogota", "antioquia", "medellin", "cali", "barranquilla", "bucaramanga", "cucuta", "pasto", "manizales", "caldas", "santander" ] }
    },
    "facets" : {
        "dictionary" : {
            "terms" : {
                "field" : "text"
            },
            "facet_filter": {
                "terms": { "text": [ "bogota", "antioquia", "medellin", "cali", "barranquilla", "bucaramanga", "cucuta", "pasto", "manizales", "caldas", "santander" ] }
            }
        }
    }
};
4

1 回答 1

0

尝试删除该"query": {"match_all"...子句。

例如,我有一个工作方面与您的工作方面非常相似,并且我已经进行了广泛的测试。我会保持原样,以便您进行比较:

{"facets": {
  "keywords":{
    "terms":
      {"size":100,"field":"text","order":"count","exclude":["you"]}
    }
  },
  "query":{
    "filtered":{
      "filter":{
         "and":[{
           "terms":
             {"_type":["dms","click_events"]}
           },
           {
           "range":{
             "created_at":{"from":"2013-05-26T04:00:00+00:00"}
           }
         }]
       }
     }
   }
 }

这成功地过滤了过滤查询中的术语 "_type":["dms","click_events"]。

于 2013-06-25T22:59:53.530 回答