Changeset 2565
- Timestamp:
- 03/02/10 23:03:58 (5 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Search-Query-Dialect-KSx/trunk/lib/Search/Query/Dialect/KSx.pm
r2561 r2565 411 411 { 412 412 413 # KS currently broken with no get_analyzers() method.414 # my $analyzers = $field->analyzer->get_analyzers();415 # for my $ana (@$analyzers) {416 # if ( $ana->isa('KinoSearch::Analysis::Stemmer')417 # or $ana->can('stem') )418 #{419 #$stemmer = $ana;420 #last;421 #}422 #}413 # NOTE get_analyzers() not available in <=0.30_082 414 # due to a bug in KS. 415 # fixed in KS svn trunk as of r5884 416 my $analyzers = $field->analyzer->get_analyzers(); 417 for my $ana (@$analyzers) { 418 if ( $ana->isa('KinoSearch::Analysis::Stemmer') ) { 419 $stemmer = $ana; 420 last; 421 } 422 } 423 423 } 424 elsif ( $field->analyzer->isa('KinoSearch::Analysis::Stemmer')425 or $field->analyzer->can('stem') )424 elsif ( 425 $field->analyzer->isa('KinoSearch::Analysis::Stemmer') ) 426 426 { 427 427 $stemmer = $field->analyzer; … … 429 429 430 430 if ($stemmer) { 431 carp "found stemmer";432 431 for my $tok (@tok) { 433 if ( $tok =~ m/^\w\*$/ ) { 434 $tok = $stemmer->stem($tok); 432 if ( $tok =~ s/^(\w+)\*$/$1/ ) { 433 my $stemmed = $stemmer->split($tok); 434 435 # re-append the wildcard 436 # TODO ever have multiple? 437 $tok = $stemmed->[0] . '*'; 435 438 } 436 439 } 437 440 } 441 442 @values = @tok; 438 443 439 444 }
Note: See TracChangeset
for help on using the changeset viewer.