Skip to content
Snippets Groups Projects
Commit dd1073ff authored by Scott Euser's avatar Scott Euser
Browse files

Issue #3477767 by scott_euser: Fix issue with embedding strategy configuration

parent 46559d4a
No related branches found
No related tags found
1 merge request!118Fix rework of embedding strategy into container
Pipeline #297079 passed
...@@ -127,8 +127,8 @@ class SearchApiAiSearchBackend extends AiSearchBackendPluginBase implements Plug ...@@ -127,8 +127,8 @@ class SearchApiAiSearchBackend extends AiSearchBackendPluginBase implements Plug
if (!isset($config['database_settings'])) { if (!isset($config['database_settings'])) {
$config['database_settings'] = []; $config['database_settings'] = [];
} }
if (!isset($config['embeddings_strategy'])) { if (!isset($config['embedding_strategy'])) {
$config['embeddings_strategy'] = NULL; $config['embedding_strategy'] = NULL;
} }
return $config; return $config;
} }
...@@ -248,6 +248,18 @@ class SearchApiAiSearchBackend extends AiSearchBackendPluginBase implements Plug ...@@ -248,6 +248,18 @@ class SearchApiAiSearchBackend extends AiSearchBackendPluginBase implements Plug
} }
} }
/**
* {@inheritdoc}
*/
public function setConfiguration(array $configuration) {
$this->configuration = $configuration + $this->defaultConfiguration();
if ($this->configuration['embedding_strategy_container']) {
$this->configuration = array_merge($this->configuration, $this->configuration['embedding_strategy_container']);
unset($this->configuration['embedding_strategy_container']);
}
parent::setConfiguration($this->configuration);
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
...@@ -278,6 +290,7 @@ class SearchApiAiSearchBackend extends AiSearchBackendPluginBase implements Plug ...@@ -278,6 +290,7 @@ class SearchApiAiSearchBackend extends AiSearchBackendPluginBase implements Plug
* @throws \Drupal\Component\Plugin\Exception\PluginException * @throws \Drupal\Component\Plugin\Exception\PluginException
*/ */
public function submitConfigurationForm(array &$form, FormStateInterface $form_state): void { public function submitConfigurationForm(array &$form, FormStateInterface $form_state): void {
$this->setConfiguration($form_state->getValues());
$vdb_client = $this->vdbProviderManager->createInstance($this->configuration['database']); $vdb_client = $this->vdbProviderManager->createInstance($this->configuration['database']);
$vdb_client->submitSettingsForm($form, $form_state); $vdb_client->submitSettingsForm($form, $form_state);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment