Subject: Re: linux-doc: Missing man page references
From: [email-masked] (Keith Owens)
To: [email-masked]
Date: Sat, 29 Jul 1995 22:52:22 +0000

Wilf <[email-masked]> wrote:
> > Lars Wirzenius ([email-masked])
> > Sun, 23 Jul 1995 13:53:49 +0300 (EET DST)
[snip]
> > Another thing that would be nice is a mechanism by which it would be
> > possible to find a page via other than the explicitly listed names.
> > This, however, needs to be done in the browser. Something like a "man
> > -k" that searches through the whole page, not just the NAME section.
> 
> Ouch.  The reason that `man -k' is relatively fast is that it searches
> a prebuilt text file (database in the case of mandb) filled with a
> parsed version of the NAME section of each manual page.  To search as
> suggested would require either
> 
> (a) a prebuilt file containing all of the relevant parts of the man
>     page (with references to the name of the actual man page)
> 
> (b) a realtime search through 1000s of possibly compressed manual
>     pages! 
> 
> Neither is practical.

The idea of (optionally) building a complete database of manual pages
is attractive if it can be done in reasonable time, i.e. if it is
practical.  One possibility is to use mkid, a textual database store
and lookup system.  I find mkid useful for scanning and indexing text
of all kinds, both source and documentation.  At the moment it builds
its database from scratch each time, the NEWS file says that an
incremental update is in the works.  The c.o.l.announce entry was -

Title:          mkid
Version:        3.0.8
Entered-date:   28MAR95
Description:	mkid builds a compact binary file containing a list of
		filenames, a list of tokens (identifiers, numbers), and a
		boolean matrix indicating which tokens appear in which files.
		With this database and the tools to query it, many tasks
		become simpler and faster.  The tools are language
		independent.  C, assembler and ascii text are currently
		supported--others are simple to add.  mkid is very fast and
		high-capacity: e.g., mkid can index a 50+ Mb source tree of
		5000+ files in 6 minutes on a 33Mhz 486 consuming 7+ Mb of
		RAM and producing a 3+ Mb output file.  Common queries
		complete instantaneously.
Keywords:       browser, cross-referencer, identifier database, fast, high-capacity
Author:         [email-masked] (Greg McGary)
Maintained-by:  [email-masked] (Greg McGary)
Primary-site:   alpha.gnu.ai.mit.edu /gnu
		188k mkid-3.0.8.tar.gz
Alternate-site: sunsite.unc.edu /pub/Linux/devel
		188k mkid-3.0.8.tar.gz
Copying-policy: GPL
End