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


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 Lucy::Index::Indexer and Lucy::Search::IndexSearcher.



  • Lucy::Docs::Tutorial::Simple - Build a bare-bones search app using Lucy::Simple.
  • Lucy::Docs::Tutorial::BeyondSimple - Rebuild the app using core classes like Indexer and IndexSearcher in place of Lucy::Simple.
  • Lucy::Docs::Tutorial::FieldType - Experiment with different field characteristics using subclasses of Lucy::Plan::FieldType.
  • Lucy::Docs::Tutorial::Analysis - Examine how the choice of Lucy::Analysis::Analyzer subclass affects search results.
  • Lucy::Docs::Tutorial::Highlighter - Augment search results with highlighted excerpts.
  • Lucy::Docs::Tutorial::QueryObjects - Unlock advanced search features by using Query objects instead of query strings.

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 "sample" directory at the root of the Lucy distribution, along with finished indexing and search apps.

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


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.