You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by lo...@apache.org on 2012/01/16 16:10:05 UTC

[lucy-commits] svn commit: r1232020 [3/3] - in /incubator/lucy/trunk/perl/buildlib: Lucy/ Lucy/Build/ Lucy/Build/Binding/ Lucy/Build/Binding/Index/ Lucy/Build/Binding/Search/ Lucy/Build/Binding/Test/ LucyX/ LucyX/Build/ LucyX/Build/Binding/

Added: incubator/lucy/trunk/perl/buildlib/LucyX/Build/Binding/Search.pm
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/perl/buildlib/LucyX/Build/Binding/Search.pm?rev=1232020&view=auto
==============================================================================
--- incubator/lucy/trunk/perl/buildlib/LucyX/Build/Binding/Search.pm (added)
+++ incubator/lucy/trunk/perl/buildlib/LucyX/Build/Binding/Search.pm Mon Jan 16 15:10:03 2012
@@ -0,0 +1,72 @@
+# 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 LucyX::Build::Binding::Search;
+
+
+sub bind_all {
+     my $class = shift;
+     $class->bind_filter;
+     $class->bind_mockmatcher;
+     $class->bind_proximityquery;
+}
+
+sub bind_filter {
+     Clownfish::CFC::Binding::Perl::Class->register(
+    parcel            => "Lucy",
+    class_name        => "LucyX::Search::FilterMatcher",
+    bind_constructors => ["new"],
+);
+
+}
+
+sub bind_mockmatcher {
+     Clownfish::CFC::Binding::Perl::Class->register(
+    parcel       => "Lucy",
+    class_name   => "LucyX::Search::MockMatcher",
+    bind_constructors => ["_new|init"],
+);
+
+}
+
+sub bind_proximityquery {
+     my $synopsis = <<'END_SYNOPSIS';
+    my $proximity_query = LucyX::Search::ProximityQuery->new( 
+        field  => 'content',
+        terms  => [qw( the who )],
+        within => 10,    # match within 10 positions
+    );
+    my $hits = $searcher->hits( query => $proximity_query );
+END_SYNOPSIS
+
+Clownfish::CFC::Binding::Perl::Class->register(
+    parcel            => "Lucy",
+    class_name        => "LucyX::Search::ProximityQuery",
+    bind_methods      => [qw( Get_Field Get_Terms )],
+    bind_constructors => ["new"],
+    make_pod          => {
+        constructor => { sample => '' },
+        synopsis    => $synopsis,
+        methods     => [qw( get_field get_terms get_within )],
+    },
+);
+Clownfish::CFC::Binding::Perl::Class->register(
+    parcel            => "Lucy",
+    class_name        => "LucyX::Search::ProximityCompiler",
+    bind_constructors => ["do_new"],
+);
+
+}
+
+1;