NAME

   Dancer::SearchApp - A simple local search engine

SYNOPSIS

QUICKSTART

   Also see Dancer::SearchApp::Installation.

     cpanm --look Dancer::SearchApp

     # Install prerequisites
     cpanm --installdeps .

     # Install Elasticsearch https://www.elastic.co/downloads/elasticsearch
     # Start Elasticsearch
     # Install Apache Tika from https://tika.apache.org/download.html into jar/

     # Launch the web frontend
     plackup --host 127.0.0.1 -p 8080 -Ilib -a bin\app.pl

     # Edit filesystem configuration
     cat >>fs-import.yml
     fs:
       directories:
           - folder: "C:\\Users\\Corion\\Projekte\\App-StarTraders"
             recurse: true
             exclude:
                - ".git"
           - folder: "t\\documents"
             recurse: true

     # Collect some content
     perl -Ilib -w bin/index-filesystem.pl -f

     # Search in your browser

CONFIGURATION

   Configuration happens through config.yml

     elastic_search:
       home: "./elasticsearch-2.1.1/"
       index: "dancer-searchapp"

   The Elasticsearch instance to used can also be passed in %ENV as
   SEARCHAPP_ES_NODES.

SECURITY CONSIDERATIONS

Dancer::SearchApp

   This web front end can serve not only the extracted content but also
   the original files from your hard disk. Configure the file system
   crawler to index only data that you are comfortable with sharing with
   whoever gets access to the web server.

   Consider making the web server only respond on requests originating
   from 127.0.0.1:

     plackup --host 127.0.0.1 -p 8080 -Ilib -a bin\app.pl

Elasticsearch

   Elasticsearch has a long history of vulnerabilities and has little to
   no concept of information segregation. This basically means that
   anything that can reach Elasticsearch can read all the data you stored
   in it.

   Configure Elasticsearch to only respond to localhost or to queries from
   within a trusted network, like your home network.

   Note that leaking a copy of the Elasticsearch search index is almost as
   bad as leaking a copy of the original data. This is especially true if
   you look at backups.

REPOSITORY

   The public repository of this module is
   https://github.com/Corion/dancer-searchapp.

SUPPORT

   The public support forum of this module is https://perlmonks.org/.

TALKS

   I've given a talk about this module at Perl conferences:

   German Perl Workshop 2016, German
   <http://corion.net/talks/dancer-searchapp/dancer-searchapp.de.html>

   Video on Youtube, German <https://www.youtube.com/watch?v=X4j5LgmfgZY>

   YAPC::Europe 2016, Cluj, English
   <http://corion.net/talks/dancer-searchapp/dancer-searchapp.en.html>

   Video on Youtube, English <https://www.youtube.com/watch?v=TXSM-Izmia8>

BUG TRACKER

   Please report bugs in this module via the RT CPAN bug queue at
   https://rt.cpan.org/Public/Dist/Display.html?Name=Dancer-SearchApp or
   via mail to [email protected].

AUTHOR

   Max Maischein [email protected]

COPYRIGHT (c)

   Copyright 2014-2016 by Max Maischein [email protected].

LICENSE

   This module is released under the same terms as Perl itself.