NAME KinoSearchX::Simple - Simple KinoSearch1 Interface SYNOPSIS use KinoSearchX::Simple; my $searcher = KinoSearchX::Simple->new( 'index_path' => '/tmp/search_index', 'schema' => [ { 'name' => 'title', 'boost' => 3, },{ 'name' => 'description', },{ 'name' => 'id', 'analysed' => 0, #you don't want the analyser to adjust your id do you? }, ], 'search_fields' => ['title', 'description'], 'search_boolop' => 'AND', ); $searcher->create({ 'id' => 1, 'title' => 'fibble', 'description' => 'wibble', }); #important - always commit after updating the index! $searcher->commit; my ( $results, $pager ) = $searcher->search( 'fibble' ); DESCRIPTION Simple interface to KinoSearch1. Use if you want to use KinoSearch1 and are lazy :p FUNCTIONS search( $query_string, $page ) - search index my ( $results, $pager ) = $searcher->search( $query, $page ); create( $document ) - add item to index $searcher->create({ 'id' => 1, 'title' => 'this is the title', 'description' => 'this is the description', }); not that it has to be, but its highly recommended that *id* is a unique identifier for this document or you'll have to pass $pk to update_or_create update_or_create( $document, $pk, $pv ) - updates or creates document in the index $searcher->update_or_create({ 'id' => 1, 'title' => 'this is the updated title', 'description' => 'this is the description', }, 'id'); $pk is the unique key to lookup by, defaults to 'id' delete( $key, $value ) - remove document from the index $searcher->delete( 'id', 1 ); finds $key with $value and removes from index commit() - commits and optimises index after adding documents $searcher->commit(); you must call this after you have finished adding items to the index ADVANCED when creating the KinoSearchX::Simple object you can specify some advanced options language set's language for default _analyser of KinoSearch1::Analysis::PolyAnalyzer _analyser set analyser, defualts to KinoSearch1::Analysis::PolyAnalyzer search_fields fields to search by default, takes an arrayref search_boolop can be *OR* or *AND* search boolop, defaults to or. e.g the following query "this is search query" becomes "this OR is OR search OR query" can be changed to *AND*, in which case the above becomes "this AND is AND search AND query" resultclass resultclass for results, defaults to KinoSearchX::Simple::Result::Object which creates acessors for each key => value returned could be changed tp KinoSearchX::Simple::Result::Hash for a plain old, hashref or a custom class entries_per_page default is 100 SUPPORT Bugs should always be submitted via the CPAN bug tracker For other issues, contact the maintainer AUTHORS n0body SEE ALSO , KinoSearch1, Data::Page, Moose COPYRIGHT AND LICENSE Copyright (C) 2010 by n0body This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.