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 *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.