TWiki::Search
This module implements all the search functionality.
Constructor for the singleton Search engine object.
Sanitise search pattern - currently used for FormattedSearch only
Search one or more webs according to the parameters.
If _callback
is set, that means the caller wants results as
soon as they are ready. =_callback_ should be set to a reference
to a function which takes _cbdata
as the first parameter and
remaining parameters the same as 'print'.
If _callback
is set, the result is always undef. Otherwise the
result is a string containing the rendered search results.
If inline
is set, then the results are not decorated with
the search template head and tail blocks.
The function will throw Error::Simple if it encounters any problems with the syntax of the search string.
Note: If format
is set, template
will be ignored.
Note: For legacy, if regex
is defined, it will force type='regex'
If type="word"
it will be changed to type="keyword"
with
wordBoundaries=1
. This will be used for searching with scope="text"
only, because scope="topic" will do a Perl search on topic names.
SMELL: If template
is defined bookview
will not work
SMELL: it seems that if you define _callback
or inline
then you are
responsible for converting the TML to HTML yourself!
FIXME: callback
cannot work with format parameter (consider format='| $topic |'
Parse the arguments to a $formfield specification and extract the relevant formfield from the given meta data.
args
string containing name of form field
In addition to the name of a field args
can be appended with a commas
followed by a string format (\d+)([,\s*]\.\.\.)?). This supports the formatted
search function $formfield and is used to shorten the returned string or a
hyphenated string.