sloppy.pm
来自「Plucene-1.25.tar.gz PERL版本的lucene」· PM 代码 · 共 63 行
PM
63 行
package Plucene::Search::PhraseScorer::Sloppy;=head1 NAMEPlucene::Search::PhraseScorer::Sloppy - sloppy phrase scorer=head1 SYNOPSIS # isa Plucene::Search::PhraseScorer=head1 DESCRIPTIONThis is a sloppy phrase scorer=head1 METHODS=cutuse strict;use warnings;use List::Util qw(max);use base 'Plucene::Search::PhraseScorer';__PACKAGE__->mk_accessors(q{slop});sub _phrase_freq { my $self = shift; my $end = 0; $#{ $self->{pq} } = -1; my $pp = $self->first; while ($pp) { $pp->first_position; $end = max($end, $pp->position); push @{ $self->{pq} }, $pp; $pp = $pp->next_in_list; } my $freq = 0; my $done = 0; do { my $pp = shift @{ $self->{pq} }; my $start = $pp->position; my $next = $self->{pq}->[0]->position; for (my $pos = $start ; $pos <= $next ; $pos = $pp->position) { $start = $pos; if (!$pp->next_position) { $done = 1; last; } } my $length = $end - $start; $freq += 1 / ($length + 1) if $length <= $self->slop; $end = max($end, $pp->position); push @{ $self->{pq} }, $pp; } while (!$done); return $freq;}1;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?