Java API для distance_feature в Elastic Search - PullRequest
1 голос
/ 08 октября 2019

Я пытаюсь реализовать повышение релевантности для полей даты и географического местоположения с помощью упругого поиска distance_feature. Какой API Java соответствует запросу distance_feature?

Следующий запрос отлично работает на Kibana:

{
  "query": {
    "bool": {
      "should": [
        {
          "multi_match": {
            "query": "mountain",
            "fields": [
              "description$string"
            ]
          }
        },
        {
          "bool": {
            "should": [
              {
                "distance_feature": {
                  "field": "location$location",
                  "pivot": "1km",
                  "origin": [
                    -35.58,20.4
                  ],
                  "boost": 1
                }
              },
              {
                "distance_feature": {
                  "field": "date_established$date",
                  "pivot": "10d",
                  "origin": "now",
                  "boost": 10
                }
              }
            ]
          }
        }
      ]
    }
  },
  "_source": {
    "includes": [
      "title$string",
      "location$location",
      "date_established$date"
    ]
  }
}```

I do not want to use the decay function for this case.

1 Ответ

0 голосов
/ 08 октября 2019

Вы можете использовать DistanceFeatureQueryBuilder класс :

Для географической точки:

GeoPoint geo = new GeoPoint(-35.58, 20.4);
DistanceFeatureQueryBuilder.Origin origin = new DistanceFeatureQueryBuilder.Origin(geo);
DistanceFeatureQueryBuilder dfqb = new DistanceFeatureQueryBuilder("location$location", origin, "1km")

Для даты:

Origin origin = new Origin("now");
DistanceFeatureQueryBuilder dfqb = new DistanceFeatureQueryBuilder("date_established$date", origin, "10d")

Я подал проблему с просьбой добавить фабричный метод для distance_feature в QueryBuilders.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...