=head1 NAME

The Swish-e README File

=head1 Upgrading?

If you are upgrading Swish-e, please review the CHANGES file before installation.
The index format may change and existing indexes may need to be re-created before
use.

=head1 OVERVIEW

Swish-e is B<S>imple B<W>eb B<I>ndexing B<S>ystem for B<H>umans - B<E>nhanced.
Swish-e can quickly and easily index directories of files or remote web sites
and search the generated indexes.

Swish-e is extremely fast in both indexing and searching, highly
configurable, and can be seamlessly integrated with existing web sites to
maintain a consistent design. Swish-e can index web pages, but can just as
easily index text files, mailing list archives, or data stored in a
relational database.

Swish is designed to index small- to medium-sized collection of documents,
Although a few users are indexing over a million documents, typical usage
is more often in the tens of thousands.  Currently, Swish-e only indexes
eight bit character encodings.

Swish-e version 2.2 was a major rewrite of the code and the addition of many
new features.  Memory requirements for indexing have been reduced and
indexing speed is significantly improved from previous versions. New
features allow more control over indexing, better document parsing, improved
indexing and searching logic, better filter code, and the ability to index
from any data source.

Swish-e version 2.4 includes a major rewrite of the C API and a new Perl
module for accessing the Swish-e C library.  In addition, Swish-e 2.4 uses
the GNU Auto Tools.  The significant changes are where files are installed,
and the use of Libtool to create the Swish-e library as a shared library on
many platforms.  Basically, installation is easier than previous versions,
and more files are installed in "standard" locations (e.g. documentation
is installed in C<$prefix/share/doc/swish-e>).

Note: Due to the new build and installation system in Swish-e 2.4, some 
documentation may incorrectly list the location of files.  Please report
any documentation errors to the Swish-e Discussion list.

Swish-e is not a "turn-key" indexing and searching solution.  The Swish-e
distribution contains most of the parts to create such a system, but you
need to put the parts together as best meets your needs. This gives you the
power to index and search your documents the way you wish and to seamlessly
integrate a search engine into your web site or application.

To use Swish-e, you will need to configure Swish-e to index your documents,
create an index by running Swish-e, and setup an interface such as a CGI
script (a script is included) to search the index and display results. 
Swish uses helper programs to index documents of types that Swish-e cannot
natively index.  These programs may need to be installed separately from
Swish-e.

Swish-e is an Open Source (see: http://opensource.org ) program supported by
developers and a large group of users. Please take time to join the Swish-e
discussion list at http://Swish-e.org .


=head2 Key features

=over 4

=item *

Quickly index a large number of documents in different formats
including text, HTML, and XML.

=item *

Use "filters" to index other types of files such as PDF, gzip, or
PostScript.

=item *

Includes a web spider for indexing remote documents over HTTP.
Follows Robots Exclusion Rules (including META tags).

=item *

Can use an external program to supply documents to Swish-e, such as an
advanced spider for your web server or a program to read and format
records from a relational database.

=item *

Document "properties" (some subset of the source document, usually defined
as a META or XML elements) may be stored in the index and returned with
search results.

=item *

Document summaries can be returned with each search.

=item *

Word stemming, soundex, metaphone, and double-metaphone indexing for "fuzzy" searching

=item *

Phrase searching and wildcard searching

=item *

Limit searches to HTML links.

=item *

Use powerful Regular Expressions to select documents for indexing or exclusion.

=item *

Easily limit searches to parts or all of your web site.

=item *

Results can be sorted by relevance or by any number of properties
in ascending or descending order.

=item *

Limit searches to parts of documents such as certain HTML tags
(META, TITLE, comments, etc.) or to XML elements.

=item *

Can report structural errors in your XML and HTML documents.

=item *

Index file is portable between platforms.

=item *

A Swish-e library is provided to allow embedding Swish-e into your applications for
very fast searching. 
A Perl module is available that provides a standard API for accessing Swish-e.

=item *

Includes example search script with context summaries and search term and phrase highlighting.
Can be used with popular Perl templating systems.

=item *

Swish-e is fast.

=item *

It's Open Source and FREE!  You can customize Swish-e and you can
contribute your fancy new features to the project.

=item *

Supported by on-line user and developer groups.

=back


=head1 Where do I get Swish-e?

The current version of Swish-e can be found at:

http://Swish-e.org

Please make sure you use a current version of Swish-e.

Information about Windows binary distributions can also be found at
this site.

=head1 How Do I Install Swish-e?

Read the L<INSTALL|INSTALL> page.

Building from source is recommended.  On most platforms, Swish-e should build without problems.
A list of platforms where Swish-e has been built can be found in the L<INSTALL|INSTALL> page.
Information on building for VMS and Win32 can be found in sub-directories of the C<src> directory.
Check the Swish-e site for information about binary distributions (such as for Windows).

In addition to the INSTALL page, make sure you read the L<SWISH-FAQ|SWISH-FAQ> page if
you have any questions, or to get an idea of questions that you might someday ask.

Problems or questions about installing Swish-e should be directed to the Swish-e discussion list (see the
Swish-e web site at http://Swish-e.org).

Please read C<Where do I get help with Swish-e?> below before posting any questions to the
Swish-e list.


=head1 The Swish-e Documentation

Documentation is provided as HTML pages installed in
$prefix/share/doc/swish-e where $prefix is /usr/local if building from
source, or /usr if installed as part of a package from your OS vendor.
Under Windows $prefix is selected at installation time.

A subset of the documentation is installed as system man pages as well.

Documentation is also available on-line at http://swish-e.org.

Patches or updates to the documentation should be done against the POD files,
located in the pod directory of the distribution, or (preferably) against
the CVS repository.

=head1 Where do I get help with Swish-e?

If you need help with installing or using Swish-e, please subscribe to
the Swish-e mailing list.  Visit the Swish-e web site (listed above)
for information on subscribing to the mailing list.

Before posting any questions, please read
L<QUESTIONS AND TROUBLESHOOTING|INSTALL/"QUESTIONS AND TROUBLESHOOTING">.

=head1 Speling mistakes

Please contact the Swish-e list with corrections to this documentation.
Any help in cleaning up the docs will be appreciated!

Any patches should be made against the C<.pod> files, not the C<.html> files.

=head1 Swish-e Development

See http://swish-e.org/devel/ for development information..

Contact the Swish-e list for questions about Swish-e development.

=head1 Swish-e's History

SWISH was created by Kevin Hughes, circa 1994, to fill the need of the growing number
of Web administrators on the Internet - many of the indexing systems were
not well documented, were hard to use and install, and were too complex
for their own good. The system was widely used for several years, long
enough to collect some bug fixes and requests for enhancements.

In Fall 1996, The Library of UC Berkeley received permission from
Kevin Hughes to implement bug fixes and enhancements to the original
binary. The result is Swish-enhanced or Swish-e, brought to you by the
Swish-e Development Team.

=head1 Document Info

Each document in the Swish-e distribution contains this section.
It refers only to the specific page it's located in, and not to the
Swish-e program or the documentation as a whole.

.
