DBIx::Class::Indexer::WebService::Solr - Automatic indexing of DBIx::Class objects via WebService::Solr


DBIx-Class-Indexer-WebService-Solr documentation  | view source Contained in the DBIx-Class-Indexer-WebService-Solr distribution.

Index


NAME

Top

DBIx::Class::Indexer::WebService::Solr - Automatic indexing of DBIx::Class objects via WebService::Solr

SYNOPSIS

Top

    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

Top

Connects a DBIx::Class-based class to a Solr index.

METHODS

Top

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

Top

* DBIx::Class
* DBIx::Class::Indexed
* WebService::Solr

AUTHOR

Top

Brian Cassidy <bricas@cpan.org>

COPYRIGHT AND LICENSE

Top


DBIx-Class-Indexer-WebService-Solr documentation  | view source Contained in the DBIx-Class-Indexer-WebService-Solr distribution.