protected function SolrMultisiteFieldManager::buildFieldDefinitions in Search API Solr 8.3
Same name and namespace in other branches
- 4.x src/SolrMultisiteFieldManager.php \Drupal\search_api_solr\SolrMultisiteFieldManager::buildFieldDefinitions()
Builds the field definitions for a multisite index.
Parameters
\Drupal\search_api\IndexInterface $index: The index from which we are retrieving field information.
Return value
\Drupal\Core\TypedData\DataDefinitionInterface[] The array of field definitions for the server, keyed by field name.
Throws
\Drupal\search_api\SearchApiException
Overrides SolrFieldManager::buildFieldDefinitions
File
- src/
SolrMultisiteFieldManager.php, line 24
Class
- SolrMultisiteFieldManager
- Manages the discovery of Solr fields.
Namespace
Drupal\search_api_solrCode
protected function buildFieldDefinitions(IndexInterface $index) {
$fields = [];
foreach ($index
->getFields() as $index_field) {
$solr_field = $index_field
->getPropertyPath();
$field = new SolrMultisiteFieldDefinition([
'multivalued' => preg_match('/^[a-z]+m_/', $solr_field),
]);
$field
->setLabel($index_field
->getLabel());
$field
->setDataType($index_field
->getType());
$fields[$solr_field] = $field;
}
return $fields;
}