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

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,
},
);

Sets which indexer will be responsible for indexing this class' data. Corresponds to the package name after the DBIx::Class::Indexer prefix.
Sets the extra information passed to the indexer on instantiation.
Determines whether or not DBIx::Class::Indexed will index the document when it is inserted.
Determines whether or not DBIx::Class::Indexed will index the document when it is updated.
Determines whether or not DBIx::Class::Indexed will remove the document when it is deleted.

Accessor for the indexer object; lazy loaded.
Set the indexer information. Connection information is stored in the indexer_connection_info accessor and the package name is stored in indexer_package.
Sends the object to the indexer's insert method, if index_on_insert is true.
Sends the object to the indexer's update method, if index_on_update is true.
Sends the object to the indexer's delete method, if index_on_delete is true.
Overrides DBIx::Class's register_column. If %info contains the key 'indexed', calls register_field.
Behaves similarly to DBIx::Class's add_columns. Calls register_field underneath.
Registers a field as indexed.


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.