blob: a92aa0849001fcbe6da7a6bc848147968a084fd4 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
package Lucy::Search::Compiler;
use Lucy;
1;
__END__
__BINDING__
my $synopsis = <<'END_SYNOPSIS';
# (Compiler is an abstract base class.)
package MyCompiler;
use base qw( Lucy::Search::Compiler );
sub make_matcher {
my $self = shift;
return MyMatcher->new( @_, compiler => $self );
}
END_SYNOPSIS
my $constructor = <<'END_CONSTRUCTOR_CODE_SAMPLE';
my $compiler = MyCompiler->SUPER::new(
parent => $my_query,
searcher => $searcher,
similarity => $sim, # default: undef
boost => undef, # default: see below
);
END_CONSTRUCTOR_CODE_SAMPLE
Clownfish::Binding::Perl::Class->register(
parcel => "Lucy",
class_name => "Lucy::Search::Compiler",
bind_methods => [
qw(
Make_Matcher
Get_Parent
Get_Similarity
Get_Weight
Sum_Of_Squared_Weights
Apply_Norm_Factor
Normalize
Highlight_Spans
)
],
bind_constructors => ["do_new"],
make_pod => {
methods => [
qw(
make_matcher
get_weight
sum_of_squared_weights
apply_norm_factor
normalize
get_parent
get_similarity
highlight_spans
)
],
synopsis => $synopsis,
constructor => { sample => $constructor },
}
);