Sman
==================

NAME
	The sman README

What is sman?
	Sman is the Searcher for Man pages. Based on the example of the
	same name in Josh Rabinowitz's article "How To Index Anything"
	in the July, 2003 issue of Linux Journal 
	(http://www.linuxjournal.com/article.php?sid=6652), sman is
	an enhanced version of 'apropos' and 'man -k'.  Sman adds 
	several key abilities over its predecessors:

	* Supports complex natural language text searches such as 
		"(linux and kernel) or (mach and microkernel)"

	* Shows results in a ranked order

	* Allows for searches by manpage section, title,
		body, or filename

	* Indexes the complete contents of the man page, not just 
		the title and description

	* Uses a prebuilt index to perform fast searches

	* Performs 'stemming' so that a search for "searches" 
	  will match a document with the word "searching"

Where do I get sman?  
	Sman is currently distributed from http://joshr.com/src/sman.

	Please make sure you use a current version of sman.

How do I install sman?

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

Dependencies:
	Sman depends on SWISH-E 2.4 or above.

	SWISH-E can be found at http://www.swish-e.org/Download/
	
Building the index:
	The included sman-update script is used to build (and rebuild)
	the sman index, which is comprised of the files 'sman.index' 
	and 'sman.index.prop'.

Searching the man page index with sman:
	The sman command is fairly simple. As its help output says:

	Usage: sman [--max=#] [--rank] [--number] [--index='index'] 
				[--file] [--help] searchwords
	Ranked freetext searches on manpages.
	Options:
	  --max=#:                limit number of results, default 20
	  --number:               show the number of each hit
	  --repeats:              show repeat manpages
	  --begin=#:              start showing hits at number N
	  --rank:                 show the rank of each hit
	  --file:                 show the source man file for each hit
	  --extract:              show extraction of manpage for each hit
	  --config=my-sman.conf:  a config file (specs an index file)
	  --index=index:          specify an index (overrides config)
	  --quote="'":            specify a quoting char for output
	  --verbose:              show more output
	  --VERSION:              show version and exit
	  --help:                 this help information

MORE INFO
    Sman is somewhat thoroughly documented. For more info, see 
	'perldoc sman',  'perldoc sman-update', or the Sman distribution.

TESTING 
	Sman has been tested on several versions of perl and unix-like operating
    systems.  We welcome bug reports and fixes for all platforms!

COPYRIGHT AND LICENCE 
	This software is licensed the same as perl itself.  
	Copyright (C) 2004 Josh Rabinowitz.

