PorterStemFilter
Applies Porter stemming algorithm for English.
Import
typescript
import PorterStemFilter from 'dynamosearch/filters/PorterStemFilter';Constructor
typescript
new PorterStemFilter()No parameters required.
Example
typescript
const filter = new PorterStemFilter();
const tokens = filter.apply([
{ token: 'running', startOffset: 0, endOffset: 7, position: 0 },
{ token: 'runs', startOffset: 8, endOffset: 12, position: 1 },
{ token: 'ran', startOffset: 13, endOffset: 16, position: 2 },
{ token: 'runner', startOffset: 17, endOffset: 23, position: 3 },
]);
// [
// { token: 'run', startOffset: 0, endOffset: 7, position: 0 },
// { token: 'run', startOffset: 8, endOffset: 12, position: 1 },
// { token: 'ran', startOffset: 13, endOffset: 16, position: 2 },
// { token: 'runner', startOffset: 17, endOffset: 23, position: 3 }
// ]Best For
- English text search
- Finding word variants
- Improving recall
- Reducing index size
See Also
- SnowballFilter - For multi-language stemming
- EnglishAnalyzer - Uses this filter