Elasticsearch не ищет поле в запросе термина - PullRequest
0 голосов
/ 31 мая 2018

У меня проблема с поиском записей по полю.Хотя существует поле со значением в документе в Elasticsearch, но когда я использую это поле для поиска в качестве термина, оно не извлекает запись.Другие поля работают отлично.

JSON Запрос:

{
  "query": {
    "filtered": {
      "query": {
        "match_all": [

        ]
      },
      "filter": {
        "and": [
          {
            "term": {
              "sellerId": "6dd7035e-1d6f-4ddb-82f4-521902bfc29e"
            }
          }
        ]
      }
    }
  }
}

Он не возвращает никакой ошибки, он просто не получает соответствующий документ.Я попытался выполнить поиск по другим полям, и они работали нормально.

Есть ли здесь что-то, чего мне не хватает?

Версия Elasticsearch: 2.2.2

Arfeen

1 Ответ

0 голосов
/ 31 мая 2018

Вам необходимо переиндексировать ваши данные и изменить отображение этого поля на

 "sellerId": { 
   "type": "string",
   "index": "not_analyzed"
 }

Таким образом, UUID не будет анализироваться и разбиваться на токены, и вы сможете искать его с помощьюterm запрос.

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