Dezi::Server - Dezi Plack server


Start the Dezi server, listening on port 5000:

 % dezi -p 5000

Add a document foo to the index:

 % curl http://localhost:5000/index/foo -XPOST \
   -d '<doc><title>bar</title>hello world</doc>' \
   -H 'Content-Type: application/xml'

Search the index:

 % curl 'http://localhost:5000/search?q=bar&t=JSON'
 % curl 'http://localhost:5000/search?q=bar&t=XML'


Dezi is a search platform based on Apache Lucy, Swish3, Search::OpenSearch and Search::Query.

Dezi integrates several CPAN search libraries into one easy-to-use interface.

Be sure to read the perldoc for Search::OpenSearch::Engine and Search::OpenSearch::Server::Plack.


Dezi::Server is a subclass of Search::OpenSearch::Server::Plack. Only new methods are overridden.

app( config )

Class method that uses Plack::Builder to construct the server application. config should be a hashref that is converted internally to a Dezi::Config object.

Read the Dezi::Config documentation for full reference of all options available in config.

Returns the Plack $app via the Plack::Builder builder() function.


Peter Karman, <karman at>


Please report any bugs or feature requests to bug-dezi at, 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.


You can find documentation for this module with the perldoc command.

    perldoc Dezi::Server

You can also look for information at:


Copyright 2011-2018 Peter Karman.

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 for more information.


Search::OpenSearch, SWISH::3, Dezi::App, Plack, Lucy