Package =TWiki::Search
This module implements all the search functionality.
Constructor for the singleton Search engine object.
Break circular references.
StaticMethod getTextPattern ($text,$pattern)
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 |'
StaticMethod formatQuery ($meta,$query) -> $text
StaticMethod *displayFormField ($meta,$args) -> $text
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.