2

我们在让 min_score 工作时遇到了一些麻烦。

我们有两种类型。有 user_meta,父索引类型。还有子索引 user_perk(在下面指定。)

该查询返回正确的文档和这些文档的准确分数,但是当我添加 min_score >= 1 时,它不返回任何数据。

另一个奇怪的行为是更改 constant_score 中的 boost 值不会更改返回的分数。例如,如果我有 1 的提升值和一个得分为 29 的文档,如果我将提升值设置为 0.1,那么该文档的得分也将是 29。

这里很迷茫。我们做错了什么吗?

谢谢!杰人

子文档的映射

{
    "user_perk": {
        "_parent" : {"type" : "user_meta"},
        "type": "object",
        "index_analyzer": "keyword",
        "search_analyzer": "keyword",
        "properties": {
            "quest_id": {"type": "string"},
            "ks_uid": {"type": "string"},
            "status": {"type": "string"},
            "action_dt" : {"type": "date", "format": "YYYYMMdd"}
        }
    }
}

询问

{
  "min_score": 5,
  "query": {
    "has_child": {
      "type": "user_perk",
      "score_type": "sum",
      "query": {
        "constant_score": {
          "boost": 1,
          "filter": {
            "term": {
              "status": "claimed"
            }
          }
        }
      }
    }
  }
}
4

1 回答 1

0

min_score 不是 >= 1,而是 > 1。输入 min_score: 0 它应该可以工作。

于 2013-10-17T20:10:17.070 回答