# ***********************************************
# 
# !!!! DO NOT EDIT !!!!
# 
# This file was auto-generated by Build.PL.
# 
# ***********************************************
# 
# 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.

=encoding utf8

=head1 NAME

Lucy::Docs::Tutorial - Step-by-step introduction to Apache Lucy.

=head1 DESCRIPTION

Explore Apache Lucy’s basic functionality by starting with a minimalist CGI
search app based on Lucy::Simple and transforming it, step by step,
into an “advanced search” interface utilizing more flexible core modules like
L<Indexer|Lucy::Index::Indexer> and L<IndexSearcher|Lucy::Search::IndexSearcher>.

=head2 Chapters

=over

=item *

L<SimpleTutorial|Lucy::Docs::Tutorial::SimpleTutorial> - Build a bare-bones search app using
Lucy::Simple.

=item *

L<BeyondSimpleTutorial|Lucy::Docs::Tutorial::BeyondSimpleTutorial> - Rebuild the app using core
classes like L<Indexer|Lucy::Index::Indexer> and
L<IndexSearcher|Lucy::Search::IndexSearcher> in place of Lucy::Simple.

=item *

L<FieldTypeTutorial|Lucy::Docs::Tutorial::FieldTypeTutorial> - Experiment with different field
characteristics using subclasses of L<FieldType|Lucy::Plan::FieldType>.

=item *

L<AnalysisTutorial|Lucy::Docs::Tutorial::AnalysisTutorial> - Examine how the choice of
L<Analyzer|Lucy::Analysis::Analyzer> subclass affects search results.

=item *

L<HighlighterTutorial|Lucy::Docs::Tutorial::HighlighterTutorial> - Augment search results with
highlighted excerpts.

=item *

L<QueryObjectsTutorial|Lucy::Docs::Tutorial::QueryObjectsTutorial> - Unlock advanced search features
by using Query objects instead of query strings.

=back

=head2 Source materials

The source material used by the tutorial app – a multi-text-file presentation
of the United States constitution – can be found in the C<sample> directory
at the root of the Lucy distribution, along with finished indexing and search
apps.

    sample/indexer.pl        # indexing app
    sample/search.cgi        # search app
    sample/us_constitution   # corpus

=head2 Conventions

The user is expected to be familiar with OO Perl and basic CGI programming.

The code in this tutorial assumes a Unix-flavored operating system and the
Apache webserver, but will work with minor modifications on other setups.

=head2 See also

More advanced and esoteric subjects are covered in L<Cookbook|Lucy::Docs::Cookbook>.

