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 * Brian Cassidy 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.