Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

wiki::toolkit::search::base(3pm) [debian man page]

Wiki::Toolkit::Search::Base(3pm)			User Contributed Perl Documentation			  Wiki::Toolkit::Search::Base(3pm)

NAME
Wiki::Toolkit::Search::Base - Base class for Wiki::Toolkit search plugins. SYNOPSIS
my $search = Wiki::Toolkit::Search::XXX->new( @args ); my %wombat_nodes = $search->search_nodes("wombat"); This class details the methods that need to be overridden by search plugins. METHODS
"new" my $search = Wiki::Toolkit::Search::XXX->new( @args ); Creates a new searcher. By default the arguments are just passed to "_init", so you may wish to override that instead. "search_nodes" # Find all the nodes which contain the word 'expert'. my %results = $search->search_nodes('expert'); Returns a (possibly empty) hash whose keys are the node names and whose values are the scores in some kind of relevance-scoring system I haven't entirely come up with yet. For OR searches, this could initially be the number of terms that appear in the node, perhaps. Defaults to AND searches (if $and_or is not supplied, or is anything other than "OR" or "or"). Searches are case-insensitive. "analyze" @terms = $self->analyze($string) Splits a string into a set of terms for indexing and searching. Typically this is done case-insensitively, splitting at word boundaries, and extracting words that contain at least 1 word characters. "fuzzy_title_match" $wiki->write_node( "King's Cross St Pancras", "A station." ); my %matches = $search->fuzzy_title_match( "Kings Cross St. Pancras" ); Returns a (possibly empty) hash whose keys are the node names and whose values are the scores in some kind of relevance-scoring system I haven't entirely come up with yet. Note that even if an exact match is found, any other similar enough matches will also be returned. However, any exact match is guaranteed to have the highest relevance score. The matching is done against "canonicalised" forms of the search string and the node titles in the database: stripping vowels, repeated letters and non-word characters, and lowercasing. "index_node" $search->index_node($node, $content); Indexes or reindexes the given node in the search engine indexes. You must supply both the node name and its content. canonicalise_title $fuzzy = $self->canonicalise_title( $ node); Returns the node title as suitable for fuzzy searching: with punctuation and spaces removes, vowels removed, and double letters squashed. "delete_node" $search->delete_node($node); Removes the given node from the search indexes. NOTE: It's up to you to make sure the node is removed from the backend store. Croaks on error. "supports_phrase_searches" if ( $search->supports_phrase_searches ) { return $search->search_nodes( '"fox in socks"' ); } Returns true if this search backend supports phrase searching, and false otherwise. "supports_fuzzy_searches" if ( $search->supports_fuzzy_searches ) { return $search->fuzzy_title_match("Kings Cross St Pancreas"); } Returns true if this search backend supports fuzzy title matching, and false otherwise. SEE ALSO
Wiki::Toolkit perl v5.14.2 2012-05-28 Wiki::Toolkit::Search::Base(3pm)

Check Out this Related Man Page

Wiki::Toolkit::Formatter::Multiple(3pm) 		User Contributed Perl Documentation		   Wiki::Toolkit::Formatter::Multiple(3pm)

NAME
Wiki::Toolkit::Formatter::Multiple - Allows a Wiki::Toolkit wiki to use more than one formatter. DESCRIPTION
A "dummy" formatter for Wiki::Toolkit. Passes methods through to other Wiki::Toolkit formatters, depending on supplied metadata. SYNOPSIS
use Wiki::Toolkit::Formatter::Multiple; use Wiki::Toolkit::Formatter::Pod; use Wiki::Toolkit::Formatter::UseMod; my $pod_fmtr = Wiki::Toolkit::Formatter::Pod->new( node_prefix => "wiki.cgi?node=", ); my $usemod_fmtr = Wiki::Toolkit::Formatter::UseMod->new( node_prefix => "wiki.cgi?node=", extended_links => 1, allowed_tags => [ qw( p b i div br ) ], ); my $formatter = Wiki::Toolkit::Formatter::Multiple->new( documentation => $pod_fmtr, discussion => $usemod_fmtr, _DEFAULT => $usemod_fmtr, ); my $wiki = Wiki::Toolkit->new( store => ..., formatter => $formatter ); my $output = $wiki->format( "This is some discussion.", { formatter => "discussion" } ); METHODS
new my $formatter = Wiki::Toolkit::Formatter::Multiple->new( label_1 => Formatter1->new( ... ), label_2 => Formatter2->new( ... ), _DEFAULT => Wiki::Toolkit::Formatter::Default->new, ); You may supply as many formatter objects as you wish. They don't have to be of different classes; you may just wish to, for example, permit different HTML tags to be used on different types of pages. The "labels" supplied as the keys of the parameter hash should be unique. When you write a node, you should store a key-value pair in its metadata where the key is "formatter" and the value is the label of the formatter that should be used to render that node. The "_DEFAULT" label is special - it defines the formatter that will be used for any node that does not have a "formatter" stored in its metadata. The "_DEFAULT" formatter, if not supplied to "->new", will default to the very basic Wiki::Toolkit::Formatter::Default. format( $raw, \%metadata ) my $output = $formatter->format( "Here is some text.", undef, { formatter => "discussion" } ); Uses the value of "formatter" given in the metadata to decide which of the formatter objects passed on instantiation to use, then uses it to format the provided rawwikitext. The "undef" second element of the parameter array in the example is there because when this is called from a Wiki::Toolkit object, the wiki object passes itself in as the second parameter. find_internal_links( $raw, $metadata ) SEE ALSO
Wiki::Toolkit AUTHOR
Kake Pugh <kake@earth.li> SUPPORT
Bug reports, questions and feature requests should go to cgi-wiki-dev@earth.li COPYRIGHT
Copyright (C) 2003-4 Kake Pugh. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2011-09-25 Wiki::Toolkit::Formatter::Multiple(3pm)
Man Page