stas 02/03/22 02:42:04 Modified: src/search README swish.cgi Added: src/search apache.org-setup.pl Log: adding a special file loading the right environment for the search on the production site Revision Changes Path 1.5 +16 -3 modperl-docs/src/search/README Index: README =================================================================== RCS file: /home/cvs/modperl-docs/src/search/README,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- README 22 Mar 2002 06:40:23 -0000 1.4 +++ README 22 Mar 2002 10:42:04 -0000 1.5 @@ -40,8 +40,9 @@ setenv MODPERL_SITE http://perl.apache.org -This is used as the base for spidering, plus is used to determine -the sections of the site (for limiting the site to those sections. +This is used as the base for spidering, plus is used to determine the +sections of the site (for limiting the site to those sections, see +below) =item 2 @@ -134,7 +135,18 @@ the site is created. The main search page I</search/swish.cgi>, has multiply checkboxes for -the for the C<sbm> variable searching only certain parts of the site. +the for the C<sbm> variable so you can limit searches to only selected +sections. + +The C<$ENV{MODPERL_SITE}> mentioned earlier is matched against the +C<sbm> variable to extract only the wanted subsets of the hits: + + $uri =~ m!$ENV{MODPERL_SITE}{/([^/]+)/.+$! + +where C<$1> is used as the section name. So it's just using the +initial directory name for the section. + + =back @@ -166,3 +178,4 @@ Another trick, you can send SIGHUP to I<spider.pl> while indexing and it will stop spidering, but let swish index what's been read so far. +=cut \ No newline at end of file 1.4 +11 -7 modperl-docs/src/search/swish.cgi Index: swish.cgi =================================================================== RCS file: /home/cvs/modperl-docs/src/search/swish.cgi,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- swish.cgi 3 Mar 2002 11:27:22 -0000 1.3 +++ swish.cgi 22 Mar 2002 10:42:04 -0000 1.4 @@ -2,6 +2,9 @@ package SwishSearch; use strict; +# optional file +eval {require "./apache.org-setup.pl"}; + use lib qw( modules ); ### This may need to be adjusted! ### It should point to the location of the ### associated script modules directory @@ -15,7 +18,7 @@ # # To display documentation for this program type "perldoc swish.cgi" # -# swish.cgi $Revision: 1.3 $ Copyright (C) 2001 Bill Moseley [EMAIL PROTECTED] +# swish.cgi $Revision: 1.4 $ Copyright (C) 2001 Bill Moseley [EMAIL PROTECTED] # Example CGI program for searching with SWISH-E # # This example program will only run under an OS that supports fork(). @@ -34,7 +37,7 @@ # # The above lines must remain at the top of this program # -# $Id: swish.cgi,v 1.3 2002/03/03 11:27:22 stas Exp $ +# $Id: swish.cgi,v 1.4 2002/03/22 10:42:04 stas Exp $ # #################################################################################### @@ -103,7 +106,6 @@ sub default_config { - ##### Configuration Parameters ######### @@ -130,10 +132,12 @@ # # Again, this is a Perl hash structure. Commas are important. #====================================================================== - + + my $swish_binary = $ENV{SWISH_BINARY_PATH} || './swish-e'; + die "Cannot find swish-e at $swish_binary: $!" unless -x $swish_binary; return { - title => 'Search our site', # Title of your choice. Displays on the search page - swish_binary => './swish-e', # Location of swish-e binary + title => 'Search perl.apache.org site', # Title of your choice. Displays on the search page + swish_binary => $swish_binary, # Location of swish-e binary # By default, this script tries to read a config file. You should probably @@ -2512,7 +2516,7 @@ =head1 LICENSE -swish.cgi $Revision: 1.3 $ Copyright (C) 2001 Bill Moseley [EMAIL PROTECTED] +swish.cgi $Revision: 1.4 $ Copyright (C) 2001 Bill Moseley [EMAIL PROTECTED] Example CGI program for searching with SWISH-E 1.1 modperl-docs/src/search/apache.org-setup.pl Index: apache.org-setup.pl =================================================================== require Sys::Hostname; my $hostname = Sys::Hostname::hostname(); # to use the setup at home, simply add to httpd.conf: # SetEnv SWISH_BINARY_PATH /usr/local/bin/swish-e # adjust to the real path # on daedalus (the production server) we cannot modify the config file # so we do it here if ($hostname && $hostname eq 'daedalus.apache.org') { $ENV{SWISH_BINARY_PATH} = "/usr/local/bin/swish-e"; } 1;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]