Существует ли ограничение на количество полей, указанных в параметре «include» в вызове Reindex - PullRequest
1 голос
/ 17 марта 2020

Это сообщение об ошибке, с которым я сталкиваюсь при выполнении вызова Reindex

[2020-03-13T16: 08: 39,042] [WARN] [oeirTransportReindexAction] [ExportDatabase] отказывается от поиска, потому что произошел сбой с невосстановимым исключением org.elasticsearch.action.search.SearchPhaseExecutionException: все осколки не удалось выполнить в org.elasticsearch.action.search.AbstractSearchAsyncAction.onPhaseFailure (AbstractSearchAsyncAction. java: 288) ~ [asticsearch jar: 6.3.0] at org.elasticsearch.action.search.AbstractSearchAsyncAction.executeNextPhase (AbstractSearchAsyncAction. java: 128) ~ [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.action.search. AbstractSearchAsyncAction.onPhaseDone (AbstractSearchAsyncAction. java: 249) ~ [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.action.search.InitialSearchPhase.onShardFailure (InitialSearchPhase. java 101): -6.3.0.jar: 6.3.0] at org.elasticsearch.action.search.InitialSearchPhase.access $ 100 (InitialSearchPhase. java: 48) ~ [elasti csearch-6.3.0.jar: 6.3.0] at org.elasticsearch.action.search.InitialSearchPhase $ 2.lambda $ onFailure $ 1 (InitialSearchPhase. java: 222) ~ [asticsearch-6.3.0.jar: 6.3.0 ] в org.elasticsearch.action.search.InitialSearchPhase.maybeFork (InitialSearchPhase. java: 176) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.action.search.InitialSearchPhase.access $ 000 (InitialSearchPhase . java: 48) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.action.search.InitialSearchPhase $ 2.onFailure (InitialSearchPhase. java: 222) [asticsearch-6.3.0.jar : 6.3.0] at org.elasticsearch.action.search.SearchExecutionStatsCollector.onFailure (SearchExecutionStatsCollector. java: 73) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.action.ActionListenerResponseHandler.handleException ( ActionListenerResponseHandler. java: 51) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.action.search.SearchTransportService $ ConnectionCountingHandler.handleException (SearchTransportService. java: 527) [asticsearch-6.3.0 .ja r: 6.3.0] at org.elasticsearch.transport.TransportService $ ContextRestoreResponseHandler.handleException (TransportService. java: 1095) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.transport.TransportService $ DirectResponseChannel .processException (TransportService. java: 1188) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.transport.TransportService $ DirectResponseChannel.sendResponse (TransportService. java: 1172) [asticsearch-6.3. 0.jar: 6.3.0] в org.elasticsearch.transport.TaskTransportChannel.sendResponse (TaskTransportChannel. java: 66) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.action.search.SearchTransportService $ 6 $ 1.onFailure (SearchTransportService. java: 385) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.search.SearchService $ 2.onFailure (SearchService. java: 341) [asticsearch-6.3 .0.jar: 6.3.0] в org.elasticsearch.search.SearchService $ 2.onResponse (SearchService. java: 335) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.search.SearchService $ 2.onRe sponse (SearchService. java: 329) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.search.SearchService $ 3.doRun (SearchService. java: 1019) [asticsearch-6.3.0. jar: 6.3.0] на org.elasticsearch.common.util.concurrent.ThreadContext $ ContextPreservingAbstractRunnable.doRun (ThreadContext. java: 724) [asticsearch-6.3.0.jar: 6.3.0] на org.elasticsearch.common .util.concurrent.AbstractRunnable.run (AbstractRunnable. java: 37) [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.common.util.concurrent.TimedRunnable.doRun (TimedRunnable. java : 41) [asticsearch-6.3.0.jar: 6.3.0] на org.elasticsearch.common.util.concurrent.AbstractRunnable.run (AbstractRunnable. java: 37) [asticsearch-6.3.0.jar: 6.3. 0] в java .util.concurrent.ThreadPoolExecutor.runWorker (неизвестный источник) [?: 1.8.0_212] в java .util.concurrent.ThreadPoolExecutor $ Worker.run (неизвестный источник) [?: 1. 8.0_212] at java .lang.Thread.run (Неизвестный источник) [?: 1.8.0_212] Причина: org.elasticsearch.ElasticsearchException $ 1: определение автомата с 33501 состоянием и 34977 переходами приведет к более чем 10000 состояниям. atg.elasticsearch.ElasticsearchException. 126) ~ [asticsearch-6.3.0.jar: 6.3.0] ... еще 26 причин: org. apache .lucene.util.automaton.TooComplexToDeterminizeException: определение автомата с 33501 состояниями и 34977 переходами приведет к большему чем 10000 штатов. в орг. apache .lucene.util.automaton.Operations.determinize (Операции. java: 746) ~ [lucene-core-7.3.1.jar: 7.3.1 ae0705edb59eaa567fe13ed3a222fdadc7153680 - caomanhdat - 2018-05-09 09 : 27: 24] в орг. apache .lucene.util.automaton.RunAutomaton. (RunAutomaton. java: 69) ~ [lucene-core-7.3.1.jar: 7.3.1 ae0705edb59eaa567fe13ed3a222fdadc71536hat - 2018-36hato - 201836hd - 2018-36hd - 2018-36hd - 2018-36hat - 2018-36hd 05-09 09:27:24] в орг. caomanhdat - 2018-05-09 09:27:24] at org. apache .lucene.util.automaton.CharacterRunAutomaton. (CharacterRunAutomaton. java: 28) ~ [lucene-core-7.3.1.jar: 7.3 .L 6.3.0] в org.elasticsearch.search.fetch.subphase.FetchSourceContext.getFilter (FetchSourceContext. java: 2 34) ~ [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.search.lookup.SourceLookup.filter (SourceLookup. java: 132) ~ [asticsearch-6.3.0.jar: 6.3.0 ] в org.elasticsearch.search.fetch.subphase.FetchSourceSubPhase.hitExecute (FetchSourceSubPhase. java: 56) ~ [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.search.fetch.FetchPhase.execute (FetchPhase. java: 162) ~ [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.search.SearchService.executeFetchPhase (SearchService. java: 393) ~ [asticsearch-6.3.0. jar: 6.3.0] в org.elasticsearch.search.SearchService.executeQueryPhase (SearchService. java: 368) ~ [asticsearch-6.3.0.jar: 6.3.0] в org.elasticsearch.search.SearchService $ 2.onResponse (SearchService. java: 333) ~ [asticsearch-6.3.0.jar: 6.3.0] ... еще 9

Так что, согласно моему анализу, это запрос, который я выполняю :

POST _reindex
{
"source":{
"index":"index_source",
"size":1000,
"query":
{
"terms":{
"ID":["7078"],
"boost":1.0
}
},
"_source":
{
"includes":here we have 1216 fields]
}
},
"dest":
{
"index":"index_dest"
}
}

Здесь, если я удаляю 1216 полей в параметре include или делаю его меньше примерно до 500, тогда он работает

Так что нужна помощь в этом, есть ли любым другим способом мы можем только переиндексировать эти специфические c поля, или я что-то не так делаю.

1 Ответ

0 голосов
/ 17 марта 2020

Из elasti c Поиск документации Отображение

1000 - максимальное количество полей, разрешенных в индексе. Чтобы увеличить предел, вы можете обновить «index.mapping.total_fields.limit»

Предупреждение

Ограничение установлено, чтобы сопоставления и поиски не стали слишком большой. Более высокие значения могут привести к снижению производительности и проблемам с памятью, особенно в кластерах с высокой нагрузкой или небольшим количеством ресурсов. Если вы увеличите этот параметр, мы рекомендуем вам также увеличить параметр indices.query.bool.max_clause_count, который ограничивает максимальное число логических предложений в запросе.

...