Skip to main content.
home | support | download

Back to List Archive

Re: Got it working on Windows IIS

From: Ahmad, Zeeshan (FMC) <Zeeshan.Ahmad(at)>
Date: Fri Jan 16 2004 - 00:25:22 GMT
I have already encountered these problems - you would likely have problems
with filter paths too. I posted a couple of messages on the same topic

On install swish-e set the following in swish.cgi:
use lib qw( D:\Program Files\SWISH-E4-Original\lib\swish-e\perl );
and it couldn't find ParseQuery module

I am now using this:
use lib qw( ./perl );

Perl cgi performance on IIS is really pathetic (avg. 5 seconds for a search,
10-15 seconds when load is high, index file size 8MB) - there is nothing
wrong with search script - I think it's due to cgi process overheads
(sometimes Perl.exe starts consuming 98% of system resources when running
swish.cgi). I tried to run swish.cgi as PerlScript and IISPerl - both
resulted in errors I have no way of resolving with my limited Perl
knowledge. Another thing I have noticed is that cgi is heaps faster when it
is run separately, say you directly type:


but it is considerably slower when called via another form or page.

Zeeshan Ahmad
FMC Computing Services
Bedford Park SA
Ph: 8204 6178

-----Original Message-----
From: [] On
Behalf Of Bill Moseley
Sent: Friday, 16 January 2004 1:26 AM
To: Multiple recipients of list
Subject: [SWISH-E] Re: Got it working on Windows IIS

On Thu, Jan 15, 2004 at 03:25:09AM -0800, Marko Faldix wrote:

> I installed windows binary version of swish-e 2.4.1 in
> on W2k with IIS 5.0 in order to index intranet web sites served by IIS and
> make them searchable.

> I followed

Even better!  By the way, if there was anything not clear please report
back so the docs can be updated.

> It works without problems accept that some pathes have to be absolute in
> script.

Ok, let's discuss those, as the Windows installation is suppose to set 
those up upon installation.

> My intranet web site http://localhost resides at C:\home\mydir
> There I put subdirectory swish containing:
> 15.01.2004  11:32                  190 .swishcgi.conf
> 15.01.2004  11:25              402.630 index.swish-e
> 15.01.2004  11:25                   74 index.swish-e.prop
> 15.01.2004  12:01              111.740 swish.cgi
> 15.01.2004  10:09                  185 swish.conf

Ok, so for the default usage of swish.cgi c:\home\mydir should be the 
current-working-directory when swish.cgi is running.

> First error message had been:
> Can't locate SWISH/ in @INC (@INC contains:
> C:\Programme\SWISH-E\lib\swish-e\perl C:/Perl/lib C:/Perl/site/lib .) at
> C:\home\mydir\swish\swish.cgi line 964.
> BEGIN failed--compilation aborted at C:\home\mydir\swish\swish.cgi line
> Although beeing no perl professional I just added this line:
> use lib qw( C:\Programme\SWISH-E\share\doc\swish-e\example\modules );

What was the "use lib" line before you changed it?

Did the swish-e installer place those modules there?  Last I checked
the modules were installed in <installdir>\lib\swish-e\perl just like on 

> After doing a search with web form provided by search.cgi second error
> message had been:
> Index file error: Could not open the index file 'index.swish-e'
> I just replaced this line
> my $DEFAULT_CONFIG_FILE = '.swishcgi.conf';
> with this one:
> my $DEFAULT_CONFIG_FILE = 'C:\home\mydir\swish\.swishcgi.conf';

That wouldn't alone fix the error with the index file.  So I assume 
in your .swishcgi.conf file you have the full path to the index files, 
too.  Is that correct?  Otherwise, (if you are not using .swishcgi.conf 
for configuration, you would have to also update the paths to the index 

Or is there just some problem with opening dot files (.swishcgi.conf) 
relative to the current directory on Windows?

I have never run IIS, but I have run Apache on Windows and it does cd
into the directory of the cgi script before running the script -- so all
the paths (relative to the current directory) work fine.  When IIS runs
a cgi script what working directory is it using?

BTW -- although the swish.cgi script is setup to have the .swishcgi.conf
config file and the index files in the same directory as the cgi script
swish.cgi, most people would likely make those files protected by
permissions or by locating them elsewhere so they are not readable by
the web server.

Bill Moseley
Received on Fri Jan 16 00:25:34 2004