⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 termscorer.pm

📁 Plucene-1.25.tar.gz PERL版本的lucene
💻 PM
字号:
package Plucene::Search::TermScorer;=head1 NAME Plucene::Search::TermScorer - score terms=head1 SYNOPSIS	# isa Plucene::Search::Scorer	$term_scorer->score($hc, $end);	=head1 DESCRIPTIONThis is a Plucene::Search::Scorer subclass for scoring terms.=head1 METHODS=cutuse strict;use warnings;use constant SCORE_CACHE_SIZE => 32;use Plucene::Search::Similarity;use base qw(Plucene::Search::Scorer Class::Accessor::Fast);=head2 term_docs / norms / weight / doc / docs / freqs / pointer / 	pointer_max / score_cacheGet / set these attributes=cut__PACKAGE__->mk_accessors(	qw(term_docs norms weight doc docs freqs		pointer pointer_max score_cache));sub new {	my $self = shift->SUPER::new(@_);	$self->weight(1) unless $self->weight();	$self->_compute_score_cache;	$self->_refill_buffers;	return $self;}sub _compute_score_cache {	my $self = shift;	for (0 .. SCORE_CACHE_SIZE - 1) {		$self->{score_cache}[$_] =			Plucene::Search::Similarity->tf($_) * $self->weight;	}}sub _refill_buffers {	my $self = shift;	$self->pointer(0);	my ($docs, $freqs) = $self->{term_docs}->read;	$self->docs($docs);	$self->freqs($freqs);	$self->pointer_max(scalar @$docs);	if ($self->{pointer_max} > 0) {		$self->doc($docs->[0]);	} else {		$self->doc(~0);	}    # Sentinel}=head2 score	$term_scorer->score($hc, $end);=cutsub score {	my ($self, $hc, $end) = @_;	my $d = $self->doc;	while ($d < $end) {		my $f = $self->{freqs}->[ $self->{pointer} ];		$self->_score_it($f, $d, $hc);		if (++$self->{pointer} == $self->{pointer_max}) {			$self->_refill_buffers;			return if $self->doc == ~0;		}		$d = $self->{docs}[ $self->{pointer} ];	}	$self->doc($d);}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -