NAME
DBIx::Class::Indexer::WebService::Solr - Automatic indexing of DBIx::Class objects via WebService::Solr
SYNOPSIS
package MySchema::Foo;
use base qw( DBIx::Class );
__PACKAGE__->load_components( qw( Indexed Core ) );
__PACKAGE__->table('foo');
__PACKAGE__->set_indexer('WebService::Solr');
__PACKAGE__->add_columns(
foo_id => { # automatically indexed as "id"
data_type => 'integer',
is_auto_increment => 1
},
name => {
data_type => 'varchar',
size => 10,
indexed => {
boost => '2.0',
}
},
location => {
data_type => 'varchar',
size => 50,
indexed => 1
}
);
__PACKAGE__->has_many( widgets => 'widget' );
__PACKAGE__->add_index_fields(
widget => {
source => 'widgets.name'
},
);
DESCRIPTION
Connects a DBIx::Class-based class to a Solr index.
METHODS
new( \%connect_info, $source_class )
Creates a new WebSevice::Solr object and normalizes the fields to be indexed.
setup_fields( $source )
Normalizes the index fields so they all have hashref members with an optional boost key.
value_for_field( $object, $key )
Uses the indexed fields information to determine how to get the values for $key
out of $object
.
as_document( $object )
Constructs a new WebService::Solr::Document object, populates it with data from $object
, and returns it.
insert( $object )
Calls update_or_create_document
.
update( $object )
Calls update_or_create_document
.
delete( $object )
Deletes document from the index.
update_or_create_document( $object )
Will either update or add a document to the index.
SEE ALSO
DBIx::Class
DBIx::Class::Indexed
WebService::Solr
AUTHOR
Brian Cassidy <bricas@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2008-2009 by Brian Cassidy
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.