"Yes" if you're thinking of making a search engine like Yahoo, "no" if you're thinking of Alta Vista.
Web Search is not designed for full-text, automated site indexing and searching. However, you can make a beautiful searchable hotlist with Web Search anyways: see Web-Search.Com for proof.
All you have to do is get the titles, URLs and descriptions of the pages you want to index into spreadsheet form, and you're off to the races. And you may find you're happier with this type of search than with full-text indexing of your site.
Web Search is about as efficient as any Perl CGI is going to be-which is to say, less efficient than a CGI written in meticulous C, or a custom search engine built into a web server. But I won't kid you--Web Search wasn't written with efficiency in mind. Web Search was written to get a whole lot of different jobs done with as much power and customization as possible.
With that disclaimer firmly in mind, the fact is that unless you're getting 100,000 searches a day, or running your web server on a 386 with 16 MB of RAM, you'll probably never notice Web Search running on your machine.
Examples: I think Web Search can smoothly handle databases with up to about 20,000 entries on most machines. I've tried a complex text database with 50,000 big entries on a 586 with 32 MB of RAM, and it's just awful. On the other hand, a complex search on a mostly-numerical database with 30 columns and over 1000 entries is performed in the blink of an eye.So, it runs great for most purposes.
We like Microsoft Works. Available everywhere for approx. $49.
Make a spreadsheet with a program like Works, Excel or Lotus 1-2-3; put the column name in the header [the very topmost block] of each column;
Leave the header blank if you don't want that column's words to appear;
Save it as "text, tab-delimited"; FTP it to the same directory that has the Web Search CGI in it.
Check Here for a sample database.
Name it the same thing as your CGI, except with ".txt" tacked on the end. For instance, your CGI is named
websearch.cgi, name the text spreadsheet
Trivia: note that this is just about the only case where you can use the terms "database" and "spreadsheet" interchangeably (it's a spreadsheet, but Web Search uses it for its database).
Here's a checklist to find out what the cause is. The correct answer to each of these should be "yes":
- I have not edited the CGI with Pico, vi or a word processor (this will break the CGI permanently.)
- I have CGI access on a Unix machine that runs Perl (that's three qualifications there; you may need to ask your ISP the answers).
- Perl is installed in /usr/local/bin (you can find out at the Unix prompt with the command
ls /usr/local/bin/perl; or ask your ISP).
- I have made the Web Search cgi world-executable with a command like
chmod 755 websearch.cgi.
- The Web Search CGI is in a directory in my web server where I can run CGIs, and it's named properly according to my server's rules (for instance, some servers require that the filenames of CGIs end in "
.pl". You may need to ask your ISP what the rules are.)
- The Web Search database (spreadsheet) is
- in the same directory as the CGI;
- world-readable, with a command like
chmod 644 websearch.cgi.txt;
- named the same thing as the CGI, except with ".txt" tacked on the end (i.e., your CGI is called
websearch.cgi, the database must be named
Ask your system administrator to make a
linkto /usr/local/bin/perl from wherever it is now, with a command like% ln -s /usr/bin/perl /usr/local/bin/perlThis won't cost them any energy or disk space, and it'll save them a lot of trouble in the long run, because twice as many Perl scripts will run without alteration.
Did you include the line<INPUT TYPE="hidden" NAME="1sp-license" VALUE="your-code-here">in your form, substituting
your-license-codewith your license code? --Note that that's a "one", not the lower-case letter L, at the beginning of "1sp-license".
If you're don't write CGIs yourself, or know much about Unix, the easiest way is probably to update your spreadsheet manually using your spreadsheet software, and then FTP the new spreadsheet in place of the old.
Here's the easiest way: in your spreadsheet, put the title of each site in column one, the URLs in column two, and a description of each site in column three. If you want to add additional search keywords, put those in an optional column four. Put the word "nohead" in the header [the topmost block of the column] of column one and column three.
For the form, do this:<FORM ACTION="websearch.cgi" METHOD="post"> <INPUT NAME="all"> <INPUT TYPE="hidden" NAME="sort" VALUE="col1"> <INPUT TYPE="hidden" NAME="link1" VALUE="2"> <INPUT TYPE="hidden" NAME="snap" VALUE="DL"> <INPUT TYPE="hidden" NAME="1sp-license" VALUE="your-code-here"> </FORM>The
INPUTfields mean, in order: 1) let the user search in all columns; 2) sort the matches alphabetically by title; 3) hotlink the title in column 1 to the URL in column 2; and 4) Put the output in <DL></DL> form.
Web-Search Copyright © 1996, Web-Search.Com Inc. All rights reserved.