I'm not sure if this requirement is common enough it that will be considered for the core, but you can easily extend those Fieldtypes by yourself. These are untested, but they should work. It should even be possible to switch an existing FieldtypeText or FieldtypeTextarea to a non-indexed type.:
FieldtypeTextNoindex
<?php namespace ProcessWire;
/**
* ProcessWire Text Fieldtype without Index
*
* Fieldtype equivalent to FieldtypeText but
* without creating an index on its text content
* to preserve storage.
*
* Only use this Fieldtype if you will never search
* through the contents of the field.
*
*/
class FieldtypeTextNoindex extends FieldtypeText {
public static function getModuleInfo() {
return array(
'title' => 'Text Noindex',
'version' => "0.0.1",
'summary' => 'Field that stores a single line of text, not indexed'
);
}
/**
* Return the database schema in specified format
*
* @param Field $field
* @return array
*
*/
public function getDatabaseSchema(Field $field) {
$schema = parent::getDatabaseSchema($field);
unset($schema['keys']['data_exact']);
unset($schema['keys']['data']);
return $schema;
}
}
FieldtypeTextareaNoindex
<?php namespace ProcessWire;
/**
* ProcessWire Textarea Fieldtype without Index
*
* Stores a large block of multi-line text like
* FieldtypeTextarea but without an index on its
* text content to save storage space.
*
* Only use this Fieldtype if you will never search
* through the contents of the field.
*
*/
class FieldtypeTextareaNoindex extends FieldtypeTextarea {
public static function getModuleInfo() {
return array(
'title' => 'Textarea Noindex',
'version' => "0.0.1",
'summary' => 'Filed that stores multiple lines of text, not indexed',
'permanent' => true,
);
}
/**
* Get database schema used by the Field
*
* @param Field $field
* @return array
*
*/
public function getDatabaseSchema(Field $field) {
$schema = parent::getDatabaseSchema($field);
unset($schema['keys']['data_exact']);
unset($schema['keys']['data']);
return $schema;
}
}