Module name |
TWiki::Search SearchDotPm |
Location |
TWIKIROOT/lib/TWiki/Search.pm |
Summary |
This module implements all the search functionality |
Primary Author |
Main. |
CVS history |
CVS:lib/TWiki/Search.pm |
CVS alpha |
CVSget:lib/TWiki/Search.pm |
Contributing authors |
(see CVS History) |
Is Class |
NO |
First Release |
to be filled out |
|
|
Purpose
To return
HTML tabulating the occurances of the search strings, formatted according to user preferences.
Used by
This module is used by
SearchCgiScript and
TWikiDotPm
Please see
CodevDocumentationProject and
CodevDocumentationProjectDev for comments on the format of these pages.
Note: |
Below documentation is extracted from the currently installed TWiki::Search Perl module, which is done by the PerlDocPlugin |
package TWiki::Search
This module implements all the search functionality.
ClassMethod new ($session)
Constructor for the singleton Search engine object.
=begin twiki
ObjectMethod finish()
Break circular references.
StaticMethod getTextPattern ( $text, $pattern )
Sanitise search pattern - currently used for FormattedSearch only
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.
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.
Contributors:
--
MartinCleaver - 23 Jun 2002
--
PeterThoeny - 02 Feb 2004
Discussions
Comments on the the
FatClientNess of this module.
The module contains both
HTML outputting fragments and searching fragments. The
HTML fragments should be pulled back into the
SearchCgiScript so that only the searching fragments remain.
--
MartinCleaver - 23 Jun 2002