Getting this on search results page when using PHP 7.4.7:

Notice: Trying to access array offset on value of type int in Drupal\elasticsearch_connector\ElasticSearch\Parameters\Builder\SearchBuilder->Drupal\elasticsearch_connector\ElasticSearch\Parameters\Builder\{closure}() (line 304 of modules/contrib/elasticsearch_connector/src/ElasticSearch/Parameters/Builder/SearchBuilder.php).

Drupal\elasticsearch_connector\ElasticSearch\Parameters\Builder\SearchBuilder->Drupal\elasticsearch_connector\ElasticSearch\Parameters\Builder\{closure}(0)
array_filter(Array, Object, 2) (Line: 305)
Drupal\elasticsearch_connector\ElasticSearch\Parameters\Builder\SearchBuilder->flattenKeys(Array, Object, 'auto') (Line: 204)
Drupal\elasticsearch_connector\ElasticSearch\Parameters\Builder\SearchBuilder->getSearchQueryOptions() (Line: 74)
Drupal\elasticsearch_connector\ElasticSearch\Parameters\Builder\SearchBuilder->build() (Line: 26)
Drupal\elasticsearch_connector\ElasticSearch\Parameters\Factory\SearchFactory::search(Object) (Line: 578)
Drupal\elasticsearch_connector\Plugin\search_api\backend\SearchApiElasticsearchBackend->search(Object) (Line: 468)
Drupal\search_api\Entity\Server->search(Object) (Line: 539)
Drupal\search_api\Query\Query->execute() (Line: 575)
Drupal\search_api\Plugin\views\query\SearchApiQuery->execute(Object) (Line: 1426)
Drupal\views\ViewExecutable->execute(NULL) (Line: 1454)
Drupal\views\ViewExecutable->render() (Line: 183)
Drupal\views\Plugin\views\display\Page->execute() (Line: 1630)
Drupal\views\ViewExecutable->executeDisplay('page', Array) (Line: 77)
Drupal\views\Element\View::preRenderViewElement(Array)
call_user_func_array(Array, Array) (Line: 100)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. Support for this callback implementation is deprecated in 8.8.0 and will be removed in Drupal 9.0.0. See https://www.drupal.org/node/2966725', 'silenced_deprecation', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 781)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array) (Line: 372)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 156)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

Comments

jaydee1818 created an issue. See original summary.

jaydee1818’s picture

This patch solves the problem. I've replaced the array_filter function and am now just looping over the array of keys and stripping out keys that are non-numeric.

jaydee1818’s picture

jeremylichtman’s picture

Adding a re-rolled patch for alpha3.

blacklabel_tom’s picture

StatusFileSize
new813 bytes

Adding a patch for the 8.6 version of the module in case anyone hits my use case of old elasticsearch and latest PHP version.

nijolawrence’s picture

nijolawrence’s picture

Sorry the earlier patch didnot apply cleanly. Adding patch for 8.x-7.0-alpha2. This issue has been fixed in 8.x-7.0-alpha3 version.