Elasticsearch частичное multi_match минимум 2 буквы?Хотите изменить на 1 букву мин - PullRequest
0 голосов
/ 21 марта 2019

Я использую Elasticsearch для [частичного] поиска в нескольких словах.Я делю поисковый запрос по пробелам и создаю узел "multi_match" для каждого слова.

Это пример полного списка слов:

  • Дорога на холм
  • High Garden Road
  • H & M Oxford Road
  • Hammersmith Road

Это образец сгенерированного поискового запроса, когда я ищу "hi road"

{
  "query": {
    "bool": {
      "must": [
        {
          "multi_match": {
            "query": "hi",
            "fields": [
              "full_text"
            ],
            "type": "phrase_prefix"
          }
        },
        {
          "multi_match": {
            "query": "road",
            "fields": [
              "full_text"
            ],
            "type": "phrase_prefix"
          }
        }
      ]
    }
  },
  "size": 200
}

Я ожидаю, что он вернет "Hill road" и "High garden road", что он и делает.

Теперь, если я ищу "h road", он возвращает только "H &М оксфорд роуд "но я ожидаю, что он вернет все 4 пункта.Это почему?Существует ли минимум две буквы в запросе multi_match?Если так, как я могу преодолеть это?

Спасибо

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