2

min_score を機能させるのに問題がありました。

2種類あります。親インデックス タイプである user_meta があります。子インデックス user_perk もあります (以下で指定)。

クエリは、適切なドキュメントとそれらのドキュメントの正確なスコアの両方を返しますが、min_score >= 1 を追加すると、データが返されません。

もう 1 つの奇妙な動作は、constant_score のブースト値を変更しても、返されるスコアが変更されないことです。たとえば、ブースト値が 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 に答える