Поиск нескольких совпадений в Elastisearch работает неправильно - PullRequest
0 голосов
/ 12 октября 2018

У меня есть пользователь вasticsearch. Полное имя пользователя - Майк Джон Хоса, а имя пользователя - mikekhosa.Поэтому, когда я ищу пользователя khosa, тогда этот пользователь должен войти в результат поиска, но текущий не ищется в моем текущем случае.Ниже приведен мой рабочий код

{
  "from": 0,
  "size": 40,
  "sort": [
    {
      "username.raw": {
        "order": "desc"
      }
    }
  ],
  "_source": [
    "id",
    "uid",
    "username",
    "full_name",
    "picture",
    "bucket"
  ],
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "type": "user"
          }
        },
        {
          "term": {
            "db_id": 27428
          }
        },
        {
          "multi_match": {
              "query": "khosa",
              "type": "cross_fields",
              "fields": [
                "username.raw",
                "username",
                "full_name.raw",
                "full_name"
              ]
            }
        }
      ],
      "must_not": {
        "terms": {
          "id": [
            "u-2",
            "u-19712"
          ]
        }
      }
    }
  }
}

. У меня поиск в Google более 5 часов, но мне не удалось найти хорошее решение.Я не знаю, где я делаю ошибку

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