NAME Search::Typesense - Perl interface to Typesense search engine. SYNOPSIS my $typesense = Search::Typesense->new( use_https => $bool, host => $host, port => $port, ); my $results = $typesense->search( $collection_name, { q => 'Search String' }, ); if ( $results->{found} ) { foreach my $hit ( @{ $results->{hits} } ) { ...; } } DESCRIPTION This is a simple interface to the Typesense search engine. Most methods will do one of three things: * Return results as defined in the Typesense documentation (listed per section) * Return nothing if Typesense returns a 404. * "croak" if Typesense returns an error. VERSION Version 0.01 METHODS "assert_is_running" $typesense->assert_is_running; This does nothing if we can connect to Typesense. Otherwise, this method will "croak" with a message explaining the error. "get_collections" if ( my $collections = $typesense->get_collections ) { # returns all collections } if ( my $collections = $typesense->get_collections($collection_name) ) { # returns collection matching $collection_name, if any } Response shown at "delete_collection" my $response = $typesense->delete_collection($collection_name); Response shown at "create_collection" my $collection = $typesense->create_collection(\%definition); Arguments and response as shown at "create_document" my $document = $typesense->create_document($collection, \%data); Arguments and response as shown at "upsert_document" my $document = $typesense->upsert_document($collection, \%data); Arguments and response as shown at "update_document" my $document = $typesense->update_document($collection, $document_id, \%data); Arguments and response as shown at "delete_document" my $document = $typesense->delete_document($collection_name, $document_id); Arguments and response as shown at "search" my $results = $typesense->search($collection_name, {q => 'London'}); The parameters for $query are defined at , as are the results. Unlike other methods, if we find nothing, we still return the data structure (instead of "undef" instead of a 404 exception). "export_documents" my $export = $typesense->export_documents($collection_name); Response as shown at (An arrayref of hashrefs) "import_documents" my $response = $typesense->import_documents( $collection_name, $action, \@documents, ); Response as shown at $action must be one of "create", "update", or "upsert". "purge" $typesense->purge; Deletes everything from Typsense. Use with caution! AUTHOR Curtis "Ovid" Poe, "" BUGS Please report any bugs or feature requests to "bug-search-typesense at rt.cpan.org", or through the web interface at . 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 Search::Typesense You can also look for information at: * Github Repo * Issue Tracker * Search CPAN ACKNOWLEDGEMENTS LICENSE AND COPYRIGHT This software is Copyright (c) 2021 by Curtis "Ovid" Poe. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible)