public function SearchApiSolrBackend::getBackendDefinedFields in Search API Solr 4.x
Same name and namespace in other branches
- 8.3 src/Plugin/search_api/backend/SearchApiSolrBackend.php \Drupal\search_api_solr\Plugin\search_api\backend\SearchApiSolrBackend::getBackendDefinedFields()
- 8 src/Plugin/search_api/backend/SearchApiSolrBackend.php \Drupal\search_api_solr\Plugin\search_api\backend\SearchApiSolrBackend::getBackendDefinedFields()
- 8.2 src/Plugin/search_api/backend/SearchApiSolrBackend.php \Drupal\search_api_solr\Plugin\search_api\backend\SearchApiSolrBackend::getBackendDefinedFields()
Throws
\Drupal\search_api\SearchApiException
1 call to SearchApiSolrBackend::getBackendDefinedFields()
- SearchApiSolrBackend::extractResults in src/
Plugin/ search_api/ backend/ SearchApiSolrBackend.php - Extract results from a Solr response.
File
- src/
Plugin/ search_api/ backend/ SearchApiSolrBackend.php, line 4481
Class
- SearchApiSolrBackend
- Apache Solr backend for search api.
Namespace
Drupal\search_api_solr\Plugin\search_api\backendCode
public function getBackendDefinedFields(IndexInterface $index) {
$backend_defined_fields = [];
foreach ($index
->getFields() as $field) {
if ($field
->getType() === 'location') {
$distance_field_name = $field
->getFieldIdentifier() . '__distance';
$property_path_name = $field
->getPropertyPath() . '__distance';
$distance_field = new Field($index, $distance_field_name);
$distance_field
->setLabel($field
->getLabel() . ' (distance)');
$distance_field
->setDataDefinition(DataDefinition::create('decimal'));
$distance_field
->setType('decimal');
$distance_field
->setDatasourceId($field
->getDatasourceId());
$distance_field
->setPropertyPath($property_path_name);
$backend_defined_fields[$distance_field_name] = $distance_field;
}
}
$backend_defined_fields['search_api_solr_score_debugging'] = $this
->getFieldsHelper()
->createField($index, 'search_api_solr_score_debugging', [
'label' => 'Solr score debugging',
'description' => $this
->t('Detailed information about the score calculation.'),
'type' => 'string',
'property_path' => 'search_api_solr_score_debugging',
'data_definition' => DataDefinition::create('string'),
]);
return $backend_defined_fields;
}