Elasticsearch предлагает контекст с повышением - PullRequest
0 голосов
/ 08 декабря 2018

Привет. Я пытаюсь создать подсказку для автозаполнения для туристического сайта.Вы можете ввести «Из города» (Нью-Йорк, Чикаго, Лос-Анджелес и т. Д.), А затем «В город».(Изображение в качестве примера, оно не с моего сайта) enter image description here

У меня нет проблем с тем, что Completion Suggester работает для каждого отдельного блока, но это становится сложнее, когда яхочу вернуть «В город» по «Из города».Я объясняю, у нас есть список популярных маршрутов со счетом: от Нью-Йорка до Чикаго = 10 от Нью-Йорка до Бостона = 8 и т.д. ... Если кто-то уже выбрал «Нью-Йорк» в качестве «Из города», когда он ищет «Кому»Город "на вершине предложения о завершении работ. Я бы хотел, чтобы результаты были упорядочены по результатам популярного маршрута.Я попытался отобразить город следующим образом, но не могу добавить счет в качестве повышения для каждого контекста (с учетом выше 10 для Чикаго в качестве контекста, 8 для Бостона).Любая идея о том, как интегрировать оценку в моем запросе?

Индекс

{
settings: {
  "analysis": {
    "filter": {
      "autocomplete_filter": {
        "type":     "edge_ngram",
        "min_gram": 2,
        "max_gram": 20
      },
      "shingle_filter": {
        "type": "shingle",
        "max_shingle_size": 3
      }
    },
    "analyzer": {
      "autocomplete": {
        "type":      "custom",
        "tokenizer": "standard",
        "filter": [
          "lowercase",
          "shingle_filter"
        ]
      }
    }
  }
}

}

Отображение:

{
properties: {
  city: { type: 'text'},
  station: {type: 'text'},
  country: { type: 'text'},
  countryCode: { type: 'text'},
  countrySlug: { type: 'text'},
  stationSlug: {type: 'text'},
  citySlug: {type: 'text'},
  name_suggest: {
    type: 'completion',
    analyzer: 'autocomplete',
    search_analyzer: 'standard',
    contexts: [
      {
        name: 'location_type',
        type: 'category',
      },
      {
        name: 'from_city',
        type: 'category',
      },
    ],
  },
},

}

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