1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>
ht://Dig: htsearch
</title>
</head>
<body bgcolor="#eef7ff">
<h1>
htsearch
</h1>
<p>
ht://Dig Copyright © 1995-2004 <a href="THANKS.html">The ht://Dig Group</a><br>
Please see the file <a href="COPYING">COPYING</a> for
license information.
</p>
<hr size="4" noshade>
<h2>
HTML Form
</h2>
<p>
The primary interface to htsearch is through an HTML form.
When the form is submitted, the htsearch program will take
values from the form and perform the actual search. The
search can be modified in many ways with either hidden input
fields or other HTML form tags. Study the examples to get a
feel of what things are possible.
</p>
<p>
The HTML form is expected to contain at least an input text
field named <strong>words</strong>. This is where the user will enter
the search words. Other values are also recognized but have
appropriate defaults in case they are not used:
</p>
<dl>
<dt>
</a>
<strong><a name="config">config</a></strong>
</dt>
<dd>
Specifies the name of the configuration file. The name here
is the name without the path and without the <em>.conf</em>
at the end. This file is assumed to be located in the
CONFIG_DIR directory. Periods are <strong>not</strong> allowed in this
field for security reasons (to prevent HTML authors from
pointing all around at your files).<br>
The default is <em>htdig</em>
</dd>
<dt>
<strong><a name="exclude">exclude</a></strong>
</dt>
<dd>
This value is a pattern that specifies which URLs are to be
excluded from the search results. If a URL matches one of
these patterns it is discarded. Multiple patterns can be
given, separated by a bar ("|"), or multiple definitions
of the exclude input parameter can be given. This pattern
may include regular expressions when enclosed within [ and ]
characters.<br>
The default is specified by the <a href="attrs.html#exclude">exclude</a>
attribute in the configuration file.
</dd>
<dt>
<strong><a name="format">format</a></strong>
</dt>
<dd>
This specifies the name of the template to display the
search results in. There are two builtin templates named
<em>builtin-long</em> and <i>builtin-short</i> which can be
used, but any number of custom templates can also be
defined. Find out more about the templates in the
<a href="hts_templates.html">Output Templates</a> section.<br>
The <em>format</em> value can be specified as either a
hidden input field or a drop down menu.<br>
The default is specified by the <a href="attrs.html#template_name">template_name</a>
attribute in the configuration file, and the template variable
is <a href="hts_template.html#SELECTED_FORMAT">SELECTED_FORMAT</a>.
</dd>
<dt>
<strong><a name="keywords">keywords</a></strong>
</dt>
<dd>
Used to specify a list of required words that have to be in
the documents. This list of words is added to the normal
<em>words</em> value using logical "and"s, or logical "or"s
if the <a href="attrs.html#any_keywords">any_keywords</a>
attribute is set to true in the configuration file.<br>
An example use for this value is to make it a drop down
menu with a limited set of predetermined categories or
keywords to restrict the search. This can be very useful
for very structured pages.
<br>Note that the words may appear anywhere in the document.
The scope of these required words is <strong>not</strong> limited to
words in META tags with the "keywords" or "htdig-keywords"
property, despite what the parameter name may suggest.<br>
The default is specified by the <a href="attrs.html#keywords">keywords</a>
attribute in the configuration file.
</dd>
<dt>
<strong><a name="matchesperpage">matchesperpage</a></strong>
</dt>
<dd>
Specifies how many matches will be displayed on each page
of results.<br>
The default is specified by the <a href="attrs.html#matches_per_page">matches_per_page</a>
attribute in the configuration file, and the template variable
is <a href="hts_templates.html#MATCHES_PER_PAGE">MATCHES_PER_PAGE</a>. Since this value has
to be a number, it either needs to be set using a hidden
input field or a with a drop down menu.
</dd>
<dt>
<strong><a name="method">method</a></strong>
</dt>
<dd>
This can be one of <em>and</em>, <i>or</i>, or <em>
boolean</em>. It determines what type of search will be
performed.<br>
The default is specified by the
<a href="attrs.html#match_method">match_method</a> attribute in
the configuration file and the template variable is
<a href="hts_templates.html#SELECTED_METHOD">SELECTED_METHOD</a>.
It is quite useful to make this item a drop down menu so the
user can select the type of search at search time.
</dd>
<dt>
<strong><a name="page">page</a></strong>
</dt>
<dd>
This should normally not be used. It is generated by the
paged results display.
</dd>
<dt>
<strong><a name="restrict">restrict</a></strong>
</dt>
<dd>
This value is a pattern that all URLs of the search results
will have to match. This can be used to restrict the search
to a particular subtree or subsection of a bigger database.
Multiple patterns can be given, separated by a bar ("|"), or
multiple definitions of the restrict input parameter can be
given. Any URL in the search results will have to match at
least one of these patterns. The pattern may include regular
expressions when the expression is enclosed by [ and ]
characters.<br>
Note that the restrict list does not take precedence over the
exclude list - if a URL matches patterns in both lists it is
still excluded from the search results.<br>
The default is specified by the <a href="attrs.html#restrict">restrict</a>
attribute in the configuration file.
</dd>
<dt>
<strong><a name="sort">sort</a></strong>
</dt>
<dd>
This can be one of <em>score</em>, <i>time</i>, <i>date</i>,
<em>title</em>, <i>revscore</i>, <i>revtime</i>, <i>revdate</i>,
or <em>revtitle</em>. It determines what type of sort will be
performed on the search results. The types <em>time</em> and
<em>date</em> are synonymous, as are <i>revtime</i> and
<em>revdate</em>, as all four sort on the time that the
documents were last modified, if this information is given
by the server.
The sort methods that begin with <em>rev</em> simply reverse
the order of the sort.<br>
The default is specified by the
<a href="attrs.html#sort">sort</a> attribute in the
configuration file, and the template variable is
<a href="hts_templates.html#SELECTED_SORT">SELECTED_SORT</a>.
It is quite useful to make this item a drop down menu so the
user can select the type of sort at search time.
</dd>
<dt>
<strong><a name="startyear">startyear</a></strong>, <strong>startmonth</strong>, <strong>startday</strong>,
<strong>endyear</strong>, <strong>endmonth</strong>, <strong>endday</strong>
</dt>
<dd>
These values specify the allowed range of document
modification dates allowed in the search results.
They can be used to restrict the search
to particular "ages" of documents, new or old.<br>
If the year is specified by two digits (e.g. 02), then it
is assumed to be in the 1900s if it is in the range 70-99, and
in the 2000s if it is in the range 00-69. If the year is not
specified, the search does <strong>not</strong> exclude
documents outside the range of dates within the year. Thus
it is impossible, for example, to restrict a search to
documents dated "December".<br>
Incompletely specified end dates are interpreted as follows:<br>
<table>
<tr><th>Date</th> <th>Becomes</th></tr>
<tr><td>04-31</td> <td>04-31- end of time</td></tr>
<tr><td>05-1999</td><td>05-31-1999</td></tr>
<tr><td>1999</td> <td>12-31-1999</td></tr>
</table><br>
The default is the full range of documents in the database.
These values can also be specified by configuration attributes
of the same names in the
<a href="attr.html#startyear">configuration file</a>.
If a negative number is given for any of these, it is taken
as relative to the current year, month or day.
</dd>
</dl>
<hr size="4" noshade>
Last modified: $Date: 2004/05/28 13:15:18 $
</body>
</html>
|