class SolrFieldDefinition in Search API Solr 8.2
Same name and namespace in other branches
- 8.3 src/TypedData/SolrFieldDefinition.php \Drupal\search_api_solr\TypedData\SolrFieldDefinition
- 4.x src/TypedData/SolrFieldDefinition.php \Drupal\search_api_solr\TypedData\SolrFieldDefinition
Defines a class for Solr field definitions.
Hierarchy
- class \Drupal\Core\TypedData\DataDefinition implements \Drupal\Core\TypedData\ArrayAccess, DataDefinitionInterface uses TypedDataTrait
- class \Drupal\search_api_solr\TypedData\SolrFieldDefinition implements SolrFieldDefinitionInterface
Expanded class hierarchy of SolrFieldDefinition
1 file declares its use of SolrFieldDefinition
File
- src/
TypedData/ SolrFieldDefinition.php, line 10
Namespace
Drupal\search_api_solr\TypedDataView source
class SolrFieldDefinition extends DataDefinition implements SolrFieldDefinitionInterface {
/**
* Human-readable labels for Solr schema properties.
*
* @var string[]
*/
protected static $schemaLabels = [
'I' => 'Indexed',
'T' => 'Tokenized',
'S' => 'Stored',
'M' => 'Multivalued',
'V' => 'TermVector Stored',
'o' => 'Store Offset With TermVector',
'p' => 'Store Position With TermVector',
'O' => 'Omit Norms',
'L' => 'Lazy',
'B' => 'Binary',
'C' => 'Compressed',
'f' => 'Sort Missing First',
'l' => 'Sort Missing Last',
];
/**
* An array of Solr schema properties for this field.
*
* @var string[]
*/
protected $schema;
/**
* {@inheritdoc}
*/
public function isList() {
return $this
->isMultivalued();
}
/**
* {@inheritdoc}
*/
public function isReadOnly() {
return TRUE;
}
/**
* {@inheritdoc}
*/
public function isComputed() {
return FALSE;
}
/**
* {@inheritdoc}
*/
public function isRequired() {
return FALSE;
}
/**
* {@inheritdoc}
*/
public function getSchema() {
if (!isset($this->schema)) {
foreach (str_split(str_replace('-', '', $this->definition['schema'])) as $key) {
$this->schema[$key] = isset(self::$schemaLabels[$key]) ? self::$schemaLabels[$key] : $key;
}
}
return $this->schema;
}
/**
* {@inheritdoc}
*/
public function getDynamicBase() {
return isset($this->field['dynamicBase']) ? $this->field['dynamicBase'] : NULL;
}
/**
* {@inheritdoc}
*/
public function isIndexed() {
$this
->getSchema();
return isset($this->schema['I']);
}
/**
* {@inheritdoc}
*/
public function isTokenized() {
$this
->getSchema();
return isset($this->schema['T']);
}
/**
* {@inheritdoc}
*/
public function isStored() {
$this
->getSchema();
return isset($this->schema['S']);
}
/**
* {@inheritdoc}
*/
public function isMultivalued() {
$this
->getSchema();
return isset($this->schema['M']);
}
/**
* {@inheritdoc}
*/
public function isTermVectorStored() {
$this
->getSchema();
return isset($this->schema['V']);
}
/**
* {@inheritdoc}
*/
public function isStoreOffsetWithTermVector() {
$this
->getSchema();
return isset($this->schema['o']);
}
/**
* {@inheritdoc}
*/
public function isStorePositionWithTermVector() {
$this
->getSchema();
return isset($this->schema['p']);
}
/**
* {@inheritdoc}
*/
public function isOmitNorms() {
$this
->getSchema();
return isset($this->schema['O']);
}
/**
* {@inheritdoc}
*/
public function isLazy() {
$this
->getSchema();
return isset($this->schema['L']);
}
/**
* {@inheritdoc}
*/
public function isBinary() {
$this
->getSchema();
return isset($this->schema['B']);
}
/**
* {@inheritdoc}
*/
public function isCompressed() {
$this
->getSchema();
return isset($this->schema['C']);
}
/**
* {@inheritdoc}
*/
public function isSortMissingFirst() {
$this
->getSchema();
return isset($this->schema['f']);
}
/**
* {@inheritdoc}
*/
public function isSortMissingLast() {
$this
->getSchema();
return isset($this->schema['l']);
}
/**
* {@inheritdoc}
*/
public function isPossibleKey() {
return !$this
->getDynamicBase() && $this
->isStored() && !$this
->isMultivalued();
}
/**
* {@inheritdoc}
*/
public function isSortable() {
return $this
->isIndexed() && !$this
->isMultivalued();
}
/**
* {@inheritdoc}
*/
public function isFulltextSearchable() {
return $this
->isIndexed() && $this
->isTokenized();
}
/**
* {@inheritdoc}
*/
public function isFilterable() {
return $this
->isIndexed() && !$this
->isTokenized();
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DataDefinition:: |
protected | property | The array holding values for all definition keys. | |
DataDefinition:: |
public | function |
Adds a validation constraint. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public static | function | Creates a new data definition. | 5 |
DataDefinition:: |
public static | function |
Creates a new data definition object. Overrides DataDefinitionInterface:: |
5 |
DataDefinition:: |
public | function |
Returns the class used for creating the typed data object. Overrides DataDefinitionInterface:: |
1 |
DataDefinition:: |
public | function |
Returns a validation constraint. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function |
Returns an array of validation constraints. Overrides DataDefinitionInterface:: |
1 |
DataDefinition:: |
public | function |
Returns the data type of the data. Overrides DataDefinitionInterface:: |
2 |
DataDefinition:: |
public | function |
Returns a human readable description. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function |
Returns a human readable label. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function |
Returns the value of a given setting. Overrides DataDefinitionInterface:: |
2 |
DataDefinition:: |
public | function |
Returns the array of settings, as required by the used class. Overrides DataDefinitionInterface:: |
2 |
DataDefinition:: |
public | function |
Determines whether the data value is internal. Overrides DataDefinitionInterface:: |
1 |
DataDefinition:: |
public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. | |
DataDefinition:: |
public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. | |
DataDefinition:: |
public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. | |
DataDefinition:: |
public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. | |
DataDefinition:: |
public | function | Sets the class used for creating the typed data object. | |
DataDefinition:: |
public | function | Sets whether the data is computed. | |
DataDefinition:: |
public | function | Sets an array of validation constraints. | |
DataDefinition:: |
public | function | Sets the data type. | 1 |
DataDefinition:: |
public | function | Sets the human-readable description. | |
DataDefinition:: |
public | function | Sets the whether the data value should be internal. | |
DataDefinition:: |
public | function | Sets the human-readable label. | |
DataDefinition:: |
public | function | Sets whether the data is read-only. | |
DataDefinition:: |
public | function | Sets whether the data is required. | |
DataDefinition:: |
public | function | Sets a definition setting. | 2 |
DataDefinition:: |
public | function | Sets the array of settings, as required by the used class. | 2 |
DataDefinition:: |
public | function | Returns all definition values as array. | |
DataDefinition:: |
public | function | Constructs a new data definition object. | 1 |
DataDefinition:: |
public | function | 2 | |
SolrFieldDefinition:: |
protected | property | An array of Solr schema properties for this field. | |
SolrFieldDefinition:: |
protected static | property | Human-readable labels for Solr schema properties. | |
SolrFieldDefinition:: |
public | function |
Gets the "dynamic base" of this field. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Gets an array of field properties. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field is binary. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field is compressed. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether the data value is computed. Overrides DataDefinition:: |
|
SolrFieldDefinition:: |
public | function |
Determine whether a field is suitable for filtering. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determine whether a field is suitable for fulltext search. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field is indexed. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field is lazy-loaded. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Returns whether the data is multi-valued, i.e. a list of data items. Overrides DataDefinition:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field is multi-valued. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field omits norms when indexing. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determine whether this field may be suitable for use as a key field. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether the data is read-only. Overrides DataDefinition:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether a data value is required. Overrides DataDefinition:: |
|
SolrFieldDefinition:: |
public | function |
Determine whether a field is suitable for sorting. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field sorts missing entries first. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field sorts missing entries last. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field is stored. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field has the "termOffsets" option set. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field has the "termPositions" option set. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field has stored term vectors. Overrides SolrFieldDefinitionInterface:: |
|
SolrFieldDefinition:: |
public | function |
Determines whether this field is tokenized. Overrides SolrFieldDefinitionInterface:: |
|
TypedDataTrait:: |
protected | property | The typed data manager used for creating the data types. | |
TypedDataTrait:: |
public | function | Gets the typed data manager. | 2 |
TypedDataTrait:: |
public | function | Sets the typed data manager. | 2 |