1

以下を満たすには、ElasticSearch クエリをどのように作成すればよいでしょうか。

価格は 100,000 ~ 200,000 の間である必要がありますが、この範囲外の結果も表示されますが、200k を超えるか 100k を下回ると関連性が低下します。

これまでのところ、私は次のものを持っていますが、私が望むことをしていないようです(簡潔にするためにラッピングクエリを省略しました):

"function_score": {
        "query": {
          "range": {
            "price_amount": {
              "gte": 100000,
              "lte": 200000
            }
          }
        },
        "functions": [
          {
            "gauss": {
              "price_amount": {
                "origin": "50000",
                "offset": "50000",
                "scale": "10000"
              }
            }
          }
        ]
      }

アップデート:

もう一度見てみると、範囲クエリなしで関数を次のように設定するとうまくいくと思いますよね?

"function_score": {
        "functions": [
          {
            "gauss": {
              "price_amount": {
                "origin": "150000",
                "offset": "50000",
                "scale": "10000"
              }
            }
          }
        ]
      }

どうもありがとう!リー

4

0 に答える 0