Package TWiki::Search

This module implements all the search functionality.

ClassMethod new ($session)

Constructor for the singleton Search engine object.

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.

r5 - 12 Apr 2011 - 00:50:47 - TWikiContributor
 
Linux & Open Source for AT91 Microchip Microprocessors

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

Microchip and others, are registered trademarks or trademarks of Microchip Technology Inc. and its subsidiaries. This site is powered by the TWiki collaboration platform

Arm® and others are registered trademarks or trademarks of Arm Limited (or its affiliates). Other terms and product names may be trademarks of others.

Ideas, requests, contributions ? Connect to LinksToCommunities page.

Syndicate this siteRSS ATOM