NAME
SWISH::Fork - Perl extension for accessing the SWISH-E search engine via a fork/exec.
SYNOPSIS
use SWISH;
$sh = SWISH->connect('Fork',
prog => '/usr/local/bin/swish-e',
indexes => 'index.swish-e',
results => sub { print $_[1]->as_string,"\n" },
);
DESCRIPTION
This module is a driver for the SWISH search engine using the forked access method. Please see SWISH for usage instructions.
This module has been tested with the following versions of SWISH-E
1.2.4
1.3.2
2.0.4
2.1 (pre 2.2 development version)
NOTE: This module is now depreciated. Use the SWISH::API module instead. SWISH::API is bundled with Swish-e version 2.4.0, but will soon be available from the CPAN. SWISH::API is an xs interface to the Swish-e library.
REQUIRED MODULES
The following module is required (and needs to be installed before installing this module.
SWISH - the front-end for module for accessing the SWISH search engine.
These modules are required, but are standard.
Symbol - localized file handles (standard module)
IO::Handle - For flushing buffers
This module is not required, but *should* be installed when running under mod_perl or any situation where a C signal handler must be restored. (Under mod_perl we need to restore Apache's SIGALRM handler.) The module will only be used if installed, otherwise will fall back to $SIG{ALRM}.
Sys::Signal - Use instead of C<local $SIG{ALRM}> to restore signal handlers.
Should be fixed in Perl 5.6.1, but check with the mod_perl list.
RUNNING UNDER Win32
This module will run under Windows, but uses a piped open to run Swish, and does not offer timeout support. In addition, parameters passed to swish are blindly untainted -- shell escapes are not removed. All parameters are placed in double-quotes when running under Win32. Please let me know if there's a better way under Win32.
It is recommended that the security issues of running CGI scripts under Windows be carefully considered.
AUTHOR
Bill Moseley -- moseley@hank.org