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 <[email protected]>

   *   Brian Cassidy <[email protected]>

COPYRIGHT AND LICENSE
   Copyright 2006 by Adam Paynter, 2007-2011 by Brian Cassidy

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