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

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.