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

📄 query.pm

📁 Plucene-1.25.tar.gz PERL版本的lucene
💻 PM
字号:
package Plucene::Search::Query;=head1 NAME Plucene::Search::Query - base class for queries=head1 SYNOPSIS	my $s_query = Plucene::Search::Query::Subclass->new({		boost => $boost_factor});	my $scorer = $s_query->scorer($query, $searcher, $reader);=head1 DESCRIPTIONThis is an abstract base class for queries.A query is a specification of the content an properties of the desired documents. Every search is done by matching a query against the document index and locating the ones that match the query.The simplest query specifies a single term (or word) that is to be matched against a single field (e.g. 'author') of each of the documents in the index. This kind of query matches any document that contains the term in the specified field.A more complex queries may contain nested queries with 'and', 'or', 'not' or 'phrase' relations. Queries may also contains specification of which document fields to match against the various parts of the query (.e.g.  'authors' and 'title') and hints that may effects the ranking of the matched documents ('boost' factor).=head1 METHODS=cutuse strict;use warnings;use base qw/Class::Accessor::Fast/;__PACKAGE__->mk_accessors(qw/boost/);=head2 new	my $s_query = Plucene::Search::Query::Subclass->new({		boost => $boost_factor});=head2 boostGet / set this attribute=cutsub new {	my ($self, $opts) = @_;	$opts->{boost} = 1 unless exists $opts->{boost};	$self->SUPER::new($opts);}=head2 scorer	my $scorer = $s_query->scorer		(Plucene::Search::Query $query, $searcher, $reader);=cutsub scorer {	my ($class, $query, $searcher, $reader) = @_;	$query->prepare($reader);	my $sum = $query->sum_squared_weights($searcher) || 1;	my $norm = 1 / sqrt($sum);	$query->normalize($norm);	return $query->_scorer($reader);}=head2 prepareDoes nothing=head2 sum_squared_weights / normalize  / _scorerThese must be defined in a subclass=cutsub prepare { }sub sum_squared_weights {	die "sum_squared_weights must be defined in a subclass";}sub normalize { die "normalize must be defined in a subclass" }sub _scorer   { die "_scorer must be defined in a subclass" }1;

⌨️ 快捷键说明

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