как разрешить точное совпадение слов, чтобы получить более высокий балл - PullRequest
0 голосов
/ 24 сентября 2018

В упругом поиске я определил два синонима для «плавать», например «play», «walk».

Скажем, если у меня только два значения в упругом поиске со значением "I like to swim", "I like to play".

Если пользователь вводит запрос "I hope to play" Я хочу, чтобы он соответствовал "I like to play" с более высоким баллом, чем "I like to swim" (точное совпадение слов (в данном случае play), чтобы иметь более высокий балл), есть ли способ достичь этого?

1 Ответ

0 голосов
/ 24 сентября 2018

Да, вы можете!

Вы можете получить любой импульс, который хотите, с помощью логического запроса

Глобальная концепция, и вы будете определять must предложений, которые должны быть сопоставлены, и should это может соответствовать и, таким образом, добавить повышение вашей оценки документа.

Так что для ваших нужд документу необходимо для соответствия с синонимами, а должно совпадать без него.

Вам просто нужно проиндексировать поля поиска с двумя свойствами, одно с синонимами, а другое без синонимов.

и примером может быть

{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "text.withSynonyms": "I hope to play"
          }
        }
      ],
      "should": [
        {
          "match": {
            "text.withoutSynonyms": "I hope to play"
          }
        }
      ]

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