NAME
DBIx::Class::Indexer::WebService::Dezi - An indexer for Dezi/Lucy.
VERSION
Version 0.08
SYNOPSIS
This module was inspired (and borrowed some) by DBIx::Class::Indexer::WebService::Solr. In fact it uses DBIx::Class::Indexer as its abstract class. This indexer allows one to use a Dezi::Client to update the index on "insert", "update", or "delete".
package
MyApp::Schema::Foo;
__PACKAGE__->load_components(
qw[ Indexed ]
);
__PACKAGE__->set_indexer(
'WebService::Dezi'
, {
server
=>
'http://localhost:5000'
,
content_type
=>
'application/json'
} );
__PACKAGE__->table(
'person'
);
__PACKAGE__->add_columns(
person_id
=> {
data_type
=>
'varchar'
,
size
=>
'36'
,
is_nullable
=> 0,
},
name
=> {
data_type
=>
'varchar'
,
is_nullable
=> 0,
indexed
=> 1
},
age
=> {
data_type
=>
'integer'
,
is_nullable
=> 0,
},
image_path
=> {
data_type
=>
'varchar'
,
size
=>
'128'
,
indexed
=> {
is_binary
=> 1,
base64_encode
=> 1 },
},
=> {
data_type
=>
'varchar'
,
size
=>
'128'
,
},
created
=> {
data_type
=>
'timestamp'
,
set_on_create
=> 1,
is_nullable
=> 0,
},
);
CONFIG
indexed
Can be set to 1 or contain a hashref.
is_binary
Flags an indexied field as a binary pointer. Will attempt to slurp the contents for indexing.
base64_encode
A flag that will make a is_binary indexed field converted to base64. It is worth noting that highlighting needs to be turned off in the dezi config for this to properly index.
ATTRIBUTES
connect_info
Connect info parameters.
content_type
Connect info parameters.
disabled
Will disable any calls to Dezi::Client and indexing. This is useful in preventing exceptions if the Dezi server is temporarily down.
source
Source object
_dezi
Internal dezi object.
_field_prep
Used for noramalization of fields.
ATTRIBUTES
as_document( $self, $object )
Handles the insert operation. Generates a XML or JSON document that will be indexed by the dezi service.
BUILD( $self )
Creates a new Dezi::Client object and normalizes the fields to be indexed.
update_or_create_document( $object )
Handles the insert operation.
value_for_field( $object, $key )
Uses the indexed fields information to determine how to get the values for $key
out of $object
.
The logic here was borrowed from DBIx::Class::Indexer::WebService::Solr
setup_fields( $source )
Normalizes the index fields so they all have hashref members with an optional boost key.
delete( $object )
Handles the delete operation.
insert( $object )
Handles the insert operation.
update( $object )
Handles the update operation.
AUTHOR
Logan Bell, <loganbell at gmail.com>
BUGS
Please report any bugs or feature requests to bug-dbix-class-indexer-webservice-dezi at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBIx-Class-Indexer-WebService-Dezi. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc DBIx::Class::Indexer::WebService::Dezi
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-Class-Indexer-WebService-Dezi
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
http://cpanratings.perl.org/d/DBIx-Class-Indexer-WebService-Dezi
Search CPAN
http://search.cpan.org/dist/DBIx-Class-Indexer-WebService-Dezi/
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2012 Logan Bell.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.