NAME
    DBIx::Class::Indexed - Index data via external indexing facilities.

SYNOPSIS
        package Foo;
    
        use base qw( DBIx::Class );
    
        __PACKAGE__->load_components( qw( Indexed Core ) );
        __PACKAGE__->set_indexer( 'WebService::Lucene', {
            server => 'http://localhost:8080/lucene/',
            index  => 'stuff',
        });
    
        __PACKAGE__->add_columns(
            foo_id => {
                data_type         => 'integer',
                is_auto_increment => 1,
            },
            name => {
                data_type => 'varchar',
                size      => 256,
                indexed   => 1,
            },
            description => {
                data_type => 'text',
                indexed  => 1,
            },
        );
    
ACCESSORS
  indexer_package( [ $indexer ] )
    Sets which indexer will be responsible for indexing this class' data.
    Corresponds to the package name after the DBIx::Class::Indexer prefix.

  indexer_connection_info( [ \%info ] )
    Sets the extra information passed to the indexer on instantiation.

  index_on_insert
    Determines whether or not DBIx::Class::Indexed will index the document
    when it is inserted.

  index_on_update
    Determines whether or not DBIx::Class::Indexed will index the document
    when it is updated.

  index_on_delete
    Determines whether or not DBIx::Class::Indexed will remove the document
    when it is deleted.

METHODS
  indexer( )
    Accessor for the indexer object; lazy loaded.

  set_indexer( $name [, \%connection_info ] )
    Set the indexer information. Connection information is stored in the
    "indexer_connection_info" accessor and the package name is stored in
    "indexer_package".

  insert( )
    Sends the object to the indexer's "insert" method, if "index_on_insert"
    is true.

  update( )
    Sends the object to the indexer's "update" method, if "index_on_update"
    is true.

  delete( )
    Sends the object to the indexer's "delete" method, if "index_on_delete"
    is true.

  register_column ( $column, \%info )
    Overrides DBIx::Class's "register_column". If %info contains the key
    'indexed', calls "register_field".

  add_index_fields ( @fields )
    Behaves similarly to DBIx::Class's "add_columns". Calls "register_field"
    underneath.

  register_field( $field, \%info )
    Registers a field as indexed.

AUTHORS
    * Adam Paynter <adapay@cpan.org>
    * Brian Cassidy <bricas@cpan.org>

COPYRIGHT AND LICENSE
    Copyright 2006 by Adam Paynter

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.