Как сделать запрос диапазона Elasticsearch с примененной функцией Гаусса тоже?

Как мне построить запрос ElasticSearch для удовлетворения следующего:

Цена должна быть между 100 000 и 200 000, но также показывать результаты за пределами этого диапазона, но с уменьшающейся релевантностью, если выше 200 000 или ниже 100 000.

Пока что у меня есть следующее, но, похоже, оно не выполняет то, что я хочу (для краткости опущен запрос на перенос):

"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"
              }
            }
          }
        ]
      }

Большое спасибо! подветренный

0 ответов

Другие вопросы по тегам