Tags:
create new tag
view all tags

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
File Hierarchy
  TWIKIROOT
  lib
  TWiki
  Search.pm

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

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r7 - 2006-05-04 - SamHasler
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.