Indexing
Installation
Tuning
Troubleshooting
Edit file config.pl to set several parameters. Most of them are selfdocumented
and does not require explanation.
$base_dir = ".";
- path to the directory, where your html files are located. If index.pl located
in the same directory, leave this variable as is. Please note, that in all cases
you should use or relative path, or absolute, starting from file system root
(not from webserver root directory).
$base_url = "http://www.server.com/";
- URL of your site.
$site_size = 2;
- this variable controls database size and searching speed.
$file_ext = 'html txt htm shtml php';
- list of files extensions to be indexed.
$non_parse_ext = 'txt';
- list of extensions, were script should not remove HTML tags.
$no_index_dir = 'img image temp tmp cgi-bin';
- directories, which should not be indexed.
$zone[1] = 'dir1';
- site zones description. Any number of zones may be used. Every zone has unique number.
The search form should send to the script additional parameter "z" with value equal
to the chosen zone. You may use checkboxes, radio-buttons or menus.
There is example in file "template.htm". When using checkboxes or menus
with attribute multiple, you may choose several zones simultaneously.
In such case search will be performed in all chosen zones. For searching in whole
site "z" should be equal zero or not send to script at all.
If one zone is located in several directories separate them by vertical bar
without space ( $zone[1] = 'dir2|dir3'; ).
$numbers = '0-9';
- during the indexing script removes all non alphabetic characters from page
and index what is left. As alphabetic character script interpret Latin
characters and characters of regional alphabet (will be discussed later).
Here you may add other characters, which should be indexed (such as numbers,
underscore sign and so on).
$use_selective_indexing = "NO";
- this option is useful for big sites with complex navigation, news postings
and other elements, which appear on every page and, probably, should not be
indexed. It allows to tell to the script, which parts of page should be cut
before indexing. Turn on this option ("YES") and uncomment next lines in file "config.pl".
%no_index_strings = (
q[<!-- No index start 1 -->] => q[<!-- No index end 1 -->],
q[<!-- No index start 2 -->] => q[<!-- No index end 2 -->],
);
Inside the square brackets you need to write two strings. Everything placed between them
will be cut (note, if there are several occurrences of this strings
in file, each occurrence will be processed). For this purpose you may use
special marks, which divide different elements of design.
$cut_default_filenames = 'YES';
- this variable allows to cut default filenames (such as index.html) from URl in search results.
$INDEXING_SCHEME = 2;
- words indexing scheme. If indexing scheme equal "1", index is build on the whole word base.
Most fastest method, but script will find only words equal to the keyword.
When indexing scheme is "2", index is based on the beginning of each word.
Script will find all words, which begin with given keyword. For example, for query
"port" the words "portrait" and "portion" also will be found.
If indexing scheme equal "3" script put in index every substring with length 4.
It allows to find documents even in case when only middle part of word is entered as keyword.
In above case, for example, next words will be found: "important", "sport", "report" and so on.
$use_stop_words = "YES";
- list of common words, which should not be indexed.
$descr_size = 256;
- length of file description (as description may be used first lines
of file or content of "META description" tag).
$CAP_LETTERS = '\xC0-\xDF';
- Put here list of capital letters of your language (which are different from Latin).
Do the same for small letters.
There are many other parameters which are
self-documented in config.pl file.
Spidering
Spidering script will use all parameters describet above (except
$base_dir and
$base_url .
You have to set up just two additional variables.
@start_url
- List of starting URLs.
@allow_url
- Script will index only files within allowed servers.
If you need to exclude directory from indexing, use
$no_index_dir parameter (this parameter is one for all servers
in @allow_url list).
Template usage
In new version of script template is used to control design of script output.
Template is placed in file "template.htm". It is standard HTML file, which can be
opened by every browser. You may look how your page will be displayed and
edit it.
Template consists of seven section: "header" and "footer" will be displayed
in every case; "results_header", "results" and "results_footer" are displayed
in case of succsessful search; "no_results" is used if no results are found;
"empty_query" will be displayed if there are no query supplied.
Each section divided by marks, like this:
<!-- RiSearch::header::start -->
You may edit everything between two dividers.
Template uses several predefined parameters, which will be replaced
by results of script work. Here is full list of parameters:
%query%
- query.
%search_time%
- time used by script to perform search.
%query_statistics%
- found words statistics (string like - "word1-n1 word2-n2").
%stpos%
- the starting number for results on this page.
%url%, %title%, %size%, %description%
- URL of found file, title, size and description.
%rescount%
- total number of found files.
%next_results%
- links to next pages with results.
%rand_number%
- random number in range from 0 to 255, which may be used in code for
banner exchange systems (the number is fixed in one section, but new number
is generated for each section).
|