27 Oct 2007 19:46:10 UTC
- Development release
- Distribution: KinoSearch
- Source (raw)
- Browse (raw)
- How to Contribute
- Issues (5)
- Testers (21 / 5 / 2)
- KwaliteeBus factor: 0
- License: perl_5
- Activity24 month
- Download (460.82KB)
- MetaCPAN Explorer
- Subscribe to distribution
- This version
- Latest versionCREAMYG Marvin Humphreyand 1 contributors
- Marvin Humphrey <marvin at rectangular dot com>
KinoSearch::Analysis::Tokenizer - Customizable tokenizing.
my $whitespace_tokenizer = KinoSearch::Analysis::Tokenizer->new( token_re => qr/\S+/, ); # or... my $word_char_tokenizer = KinoSearch::Analysis::Tokenizer->new( token_re => qr/\w+/, ); # or... my $apostrophising_tokenizer = KinoSearch::Analysis::Tokenizer->new; # then... once you have a tokenizer, put it into a PolyAnalyzer my $polyanalyzer = KinoSearch::Analysis::PolyAnalyzer->new( analyzers => [ $lc_normalizer, $word_char_tokenizer, $stemmer ], );
Generically, "tokenizing" is a process of breaking up a string into an array of "tokens".
# before: my $string = "three blind mice"; # after: @tokens = qw( three blind mice );
KinoSearch::Analysis::Tokenizer decides where it should break up the text based on the value of
# before: my $string = "Eats, Shoots and Leaves."; # tokenized by $whitespace_tokenizer @tokens = qw( Eats, Shoots and Leaves. ); # tokenized by $word_char_tokenizer @tokens = qw( Eats Shoots and Leaves );
# match "it's" as well as "it" and "O'Henry's" as well as "Henry" my $token_re = qr/ \w+ # Match word chars. (?: # Group, but don't capture... '\w+ # ... an apostrophe plus word chars. )* # Matching the apostrophe group is optional. /xsm; my $tokenizer = KinoSearch::Analysis::Tokenizer->new( token_re => $token_re, # default: what you see above );
Constructor. Takes one hash style parameter.
token_re - must be a pre-compiled regular expression matching one token.
Copyright 2005-2007 Marvin Humphrey
See KinoSearch version 0.20.