Beginning from version 3.1.1 mnoGoSearch has nested categories support.
There is a categories editor written in PHP3 and Perl. You can
get it from mnoGoSearch downloads page.
Categories are similar to the tag feature, but nested. So you can have one category inside another and so on.
there are up to 6 nested levels;
every level occupies 2 hex or 36 base digits;
the parameter for setting category is a
path, which can be empty (meaning it is the root category)
or up to 10 chars long (meaning it is the deepest category).
You can also set up symlinks, e.g. categories that are
actually links to other categories. This is the role of the link database
field. In the symlink, the last two characters should be
@@. In example above Moto->BMW is a link to Auto->BMW.
First notice that a category in the server table is set to be
11 characters long. This means you can use a valid character to keep
track of the categories. If you are going to keep a category tree of any
size, then I would suggest using the category editor from
mnoGoSearch downloads page. But anyway, here's how it works.
You can use either the tag column or the category column
on the server to do the same thing. Or you can categorize a site in two
different ways. For example you could keep track of sites that are
owned by a certain company and then categorize them as well. You could
use the tag option to keep a trace of ownership and use the category option
for categories. When I explain the category option, note it goes the same
for the tag option.
A category can be broken down any way you choose. But
for it to work with the category editor, I believe for now, you have
to use two characters for each level. If you use the category editor
you have the choice to use a hex number going from 0-F or a 36 base
number going from 0-Z. Therefore a top-level category like 'Auto'
would be 01. If it has a subcategory like 'Ford', then it would be 01
(the parent category) and then 'Ford' which we will give 01. Put those
together and you get 0101. If 'Auto' had another subcategory named
'VW', then its id would not be 01 because it belongs to the 'Ford'
category but 02 because it's the next category. So its id would
be 0102. If VW had a sub category called 'Engine' then it's id would
start at 01 again and it would get the 'VW' id 02 and 'Auto' id of 01,
making it 010201.
If you want to search for sites under that category then
you could pass it cat=010201 into the url...so you could create a
select box that would look like that:
and so on...