internal package
Foswiki::Search This module implements all the search functionality.
ClassMethod
new ($session) Constructor for the singleton Search engine object.
ObjectMethod
finish() ObjectMethod
parseSearch($searchString, $params) → Foswiki::*::Node parses the search string and builds the appropriate nodes (uses $param→{type} to work out which parser
ObjectMethod
searchWeb (...) 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.
The function will throw Error::Simple if it encounters any problems with the syntax of the search string.
Note: Ifformat
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.
responsible for converting the TML to HTML yourself!
ObjectMethod
loadTemplates (...) this code was extracted from searchWeb, and should probably be private.
the implementation of
enable evaluations of things like '$include(blah)' in format strings.
have a default set of replacements like $lt, $nop, $percnt, $dollar etc, and then the hash of subs can take care of %MACRO{}% specific complex to evaluate replacements..
(that way we don't pre-evaluate and then subst)
StaticMethod
displayFormField( $meta, $args, $newline ) → $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
$newline
- replacement text for newlines within the form field, if not defined defaults to <br />
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.