2015-07-23 4 views
0

Я использую отфильтрованный запрос с сортировкой. Когда я запускаю запрос с помощью плагина браузера, он работает нормально. Но когда я использовать Java-клиент, который поставляется с ElasticSearch, я получаю ошибкуПолучение SearchPhaseExecutionException с использованием ElasticSearch Java-клиента

org.elasticsearch.action.search.SearchPhaseExecutionException: Не удалось выполнить фазы [ДФС], все осколки не удалось; shardFailures

Вот запрос Thats время запуска

{ 
    "from": 0, 
    "size": 50, 
    "query": { 
     "filtered": { 
      "query": { 
       "bool": { 
        "must": { 
         "bool": { 
          "should": [ 
           { 
            "match": { 
             "_all": { 
              "query": "Happy Pharrel Williams", 
              "type": "boolean" 
             } 
            } 
           }, 
           { 
            "flt": { 
             "fields": [ 
              "name", 
              "artists", 
              "genre", 
              "albumName" 
             ], 
             "like_text": "Happy Pharrel Williams" 
            } 
           } 
          ] 
         } 
        } 
       } 
      }, 
      "filter": { 
       "bool": { 
        "must": { 
         "or": { 
          "filters": [ 
           { 
            "range": { 
             "releaseInfo.us": { 
              "from": null, 
              "to": "2015-07-22T23:16:12.852Z", 
              "include_lower": true, 
              "include_upper": true 
             } 
            } 
           }, 
           { 
            "and": { 
             "filters": [ 
              { 
               "missing": { 
                "field": "releaseInfo.us" 
               } 
              }, 
              { 
               "range": { 
                "releaseInfo.WW": { 
                 "from": null, 
                 "to": "2015-07-22T23:16:12.851Z", 
                 "include_lower": true, 
                 "include_upper": true 
                } 
               } 
              } 
             ] 
            } 
           } 
          ] 
         } 
        } 
       } 
      } 
     } 
    }, 
    "fields": [], 
    "sort": [ 
     { 
      "popularity.US": { 
       "order": "asc", 
       "missing": 999 
      } 
     }, 
     { 
      "_score": {} 
     } 
    ] } 

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

Вы видите что-то не так с структурой запроса или чем-то еще с Java-клиентом?

+0

Я получаю исключение, потому что я использовал сортировку в поле, которое не существовало в определенном количестве индексированных документов. Я повторно проиндексировал все документы, и он сработал. – snegi

ответ

0

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

Смежные вопросы