32 private $indexScopeResolver;
37 private $flatScopeResolver;
61 $this->indexScopeResolver = $indexScopeResolver;
62 $this->flatScopeResolver = $flatScopeResolver;
63 $this->columnTypesMap = array_merge($this->columnTypesMap,
$columnTypesMap);
69 public function delete(
$index, array $dimensions = [])
71 $this->dropTable($this->resource->getConnection(), $this->indexScopeResolver->resolve(
$index, $dimensions));
72 $this->dropTable($this->resource->getConnection(), $this->flatScopeResolver->resolve(
$index, $dimensions));
96 $this->resource->getConnection()->createTable(
$table);
111 [
'unsigned' =>
true,
'nullable' =>
false],
117 [
'unsigned' =>
true,
'nullable' =>
true]
122 [
'nullable' =>
true],
126 [
'entity_id',
'attribute_id'],
129 'FTI_FULLTEXT_DATA_INDEX',
151 [
'unsigned' =>
true,
'nullable' =>
false],
155 if ($field[
'type'] !==
'filterable') {
158 $columnMap = isset($field[
'dataType']) && isset($this->columnTypesMap[$field[
'dataType']])
159 ? $this->columnTypesMap[$field[
'dataType']]
160 : [
'type' => $field[
'type'],
'size' => isset($field[
'size']) ? $field[
'size'] :
null];
161 $name = $field[
'name'];
162 $type = $columnMap[
'type'];
163 $size = $columnMap[
'size'];
166 $this->resource->getConnection()->createTable(
$table);
__construct(ResourceConnection $resource, IndexScopeResolver $indexScopeResolver, FlatScopeResolver $flatScopeResolver, array $columnTypesMap=[])
createFlatIndex($tableName, array $fields)
createFulltextIndex($tableName)
configureFulltextTable(Table $table)
const INDEX_TYPE_FULLTEXT
create($index, array $fields, array $dimensions=[])
if(!isset($_GET['name'])) $name