=head1 NAME

KinoSearch::Docs::Tutorial - Overview

=head1 DESCRIPTION

KinoSearch is a flexible tool for building search applications.  This tutorial
explores its basic functionality by starting with a minimalist CGI search app
based on L<KinoSearch::Simple> and transforming it, step by step, into an
"advanced search" interface utilizing more flexible core modules like
L<KinoSearch::InvIndexer> and L<KinoSearch::Searcher>.

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

=head2 Chapters

=over

=item *

L<KinoSearch::Docs::Tutorial::Simple> - build a bare-bones search app using
L<KinoSearch::Simple>.

=item *

L<KinoSearch::Docs::Tutorial::BeyondSimple> - rebuild the app using
core classes instead of KinoSearch::Simple.

=item *

L<KinoSearch::Docs::Tutorial::FieldSpec> - Experiment with different field
characteristics using subclasses of L<KinoSearch::FieldSpec>. [TODO]

=item *

L<KinoSearch::Docs::Tutorial::Analysis> - how to choose and use various
subclasses of L<KinoSearch::Analysis::Analyzer>. [TODO]

=item *

L<KinoSearch::Docs::Tutorial::IncrementalIndexing> - modify the index by
adding and deleting documents. [TODO]

=item *

L<KinoSearch::Docs::Tutorial::Highlighter> - augment your search results with
highlighted excerpts. [TODO]

=item *

L<KinoSearch::Docs::Tutorial::QueryObjects> - unlock advanced search features
by using Query objects instead of query strings. [TODO]

=back

=head2 Source materials

The source material used by the tutorial app -- an html presentation of the
United States constitution -- can be found in the C<sample>
directory at the root of the KinoSearch distribution, along with finished
indexing and search apps.

    sample/USConSchema.pm    # custom KinoSearch::Schema subclass
    sample/invindexer.pl     # indexing app
    sample/search.cgi        # search app
    sample/conf.pl           # shared configuration file
    sample/us_constitution   # html documents

=head2 Conventions

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

This tutorial assumes a Unix-flavored operating system and the Apache
webserver, but it will work with minor modifications on other rigs.

=head1 COPYRIGHT

Copyright 2005-2007 Marvin Humphrey

=head1 LICENSE, DISCLAIMER, BUGS, etc.

See L<KinoSearch> version 0.20.