# Auto-generated file -- DO NOT EDIT!!!!! # 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. =head1 NAME Lucy::Plan::Schema - User-created specification for an inverted index. =head1 SYNOPSIS use Lucy::Plan::Schema; use Lucy::Plan::FullTextType; use Lucy::Analysis::PolyAnalyzer; my $schema = Lucy::Plan::Schema->new; my $polyanalyzer = Lucy::Analysis::PolyAnalyzer->new( language => 'en', ); my $type = Lucy::Plan::FullTextType->new( analyzer => $polyanalyzer, ); $schema->spec_field( name => 'title', type => $type ); $schema->spec_field( name => 'content', type => $type ); =head1 DESCRIPTION A Schema is a specification which indicates how other entities should interpret the raw data in an inverted index and interact with it. Once an actual index has been created using a particular Schema, existing field definitions may not be changed. However, it is possible to add new fields during subsequent indexing sessions. =head1 CONSTRUCTORS =head2 new() my $schema = Lucy::Plan::Schema->new; Constructor. Takes no arguments. =head1 METHODS =head2 spec_field( I<[labeled params]> ) Define the behavior of a field by associating it with a FieldType. If this method has already been called for the supplied C<< field >>, it will merely test to verify that the supplied FieldType equals() the existing one. =over =item * B - The name of the field. =item * B - A FieldType. =back =head2 num_fields() Return the number of fields currently defined. =head2 all_fields() Return all the Schema's field names as an array. =head2 fetch_type(field) Return the FieldType for the specified field. If the field can't be found, return undef. =head2 fetch_sim(field) Return the Similarity for the specified field, or undef if either the field can't be found or it isn't associated with a Similarity. =head2 architecture() Factory method which creates an Architecture object for this index. =head2 get_architecture() Return the Schema instance's internal Architecture object. =head2 get_similarity() Return the Schema instance's internal Similarity object. =head1 INHERITANCE Lucy::Plan::Schema isa L. =cut