protected function SnowballStemmer::process in Snowball Stemmer 8
Same name and namespace in other branches
- 2.x src/Plugin/search_api/processor/SnowballStemmer.php \Drupal\snowball_stemmer\Plugin\search_api\processor\SnowballStemmer::process()
Processes a single string value.
This method is ultimately called for all text by the standard implementation, and does nothing by default.
Parameters
mixed $value: The value to preprocess, as a reference. Can be manipulated directly, nothing has to be returned. Since this can be called for all value types, $value has to remain the same type. The possible types for $value depend on shouldProcess().
Overrides Stemmer::process
See also
\Drupal\search_api\Processor\FieldsProcessorPluginBase::shouldProcess()
File
- src/
Plugin/ search_api/ processor/ SnowballStemmer.php, line 143
Class
- SnowballStemmer
- Stems search terms.
Namespace
Drupal\snowball_stemmer\Plugin\search_api\processorCode
protected function process(&$value) {
// In the absence of the tokenizer, and/or HTML processor, this ensures
// split words for stemming. Leaves strings in much the same state as
// search api will for storage.
$words = preg_split('/[^\\p{L}\\p{N}]+/u', strip_tags($value), -1, PREG_SPLIT_NO_EMPTY);
$stemmed = [];
foreach ($words as $word) {
$stemmed[] = $this
->stem($word);
}
$value = implode(' ', $stemmed);
}