You are here: Foswiki>System Web>Category>DeveloperDocumentationCategory>PerlDoc (2024-12-23, UnknownUser)Edit Attach
See PublishedAPI for packages intended to be used by Plugin and Contrib authors, or browse all packages.
See also Developing plugins, Developer's Bible, Technical Overview
internal package
Foswiki::Search::InfoCache is a
Foswiki::ListIteratorSupport package; cache of topic info. When information about search hits is compiled for output, this cache is used to avoid recovering the same info about the same topic more than once.
ClassMethod
new($session, $defaultWeb, \@topicList) Initialise a new list of topics, allowing their data to be lazy loaded if and when needed.
$defaultWeb is used to qualify topics that do not have a web specifier - should expect it to be the same as BASEWEB in most cases.
Because this Iterator can be created and filled dynamically, once the Iterator hasNext() and next() methods are called, it is immutable.
ObjectMethod
sortResults($params) the implementation of %SORT{"" limit="" order="" reverse="" date=""}%
it should be possible for the search engine to pre-sort, making this a nop, or to delay evaluated, partially evaluated, or even delegated to the DB/SQL
can call repeatedly, the list will only be re-sorted if new elements are added.
Filter the list by date interval; see TimeSpecifications.
This function adds a filter evaluator to the infocache that is evaluated as you iterate through the collection
$infoCache->filterByDate( $date );
StaticMethod
getOptionFilter(\%options) → $code Analyse the options given in \%options and return a function that filters based on those options. \%options may include:
includeTopics
- a comma-separated wildcard list of topic names excludeTopics
- do casesensitive
- boolean Edit | Attach | Print version | History: r1 | Backlinks | View wiki text | Edit wiki text | More topic actions
Topic revision: r1 - 2024-12-23, UnknownUser
Copyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback