Jump to content
MediaWiki

Extension:SearchParserFunction

From mediawiki.org
Languages:
MediaWiki extensions manual
SearchParserFunction
Release status: stable
Implementation Parser function , Search
Description Adds a parser function to search, format and display search results in wiki pages.
Author(s) Sophivorus talk
Latest version 2.1
MediaWiki >= 1.40.0
Database changes No
Licence GNU General Public License 3.0 or later
Download
Example Appropedia
Translate the SearchParserFunction extension if it is available at translatewiki.net

The SearchParserFunction extension adds a parser function to search, format and display search results in wiki pages.

Installation

[edit ]
  • Download and move the extracted SearchParserFunction folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:
    cdextensions/
    gitclonehttps://gerrit.wikimedia.org/r/mediawiki/extensions/SearchParserFunction
    
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'SearchParserFunction' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Usage

[edit ]

Basic usage

[edit ]
{{#search:foo}}

This will search for pages that contain foo and return the results as a list of links, like so:

You can use all available search operators. For example, if you're using CirrusSearch :

{{#search:foo incategory:"Bar" linksto:"Baz"}}

See Help:CirrusSearch for all available search operators (or API:Search if you're not using CirrusSearch).

The current page will be excluded from the search results.

Parameters

[edit ]
Name Default Description
namespace 0 Namespace to search. Separate multiple values with commas. (See namespace constants .)
limit 10 Max number of results, should be either an integer or 'max'.
offset 0 Number of results to skip, useful to access results beyond the 'max' limit.
profile Ranking algorithm to use, defaults to let the engine decide.
what 'text' Type of search to perform, either 'text', 'title' or 'nearmatch'.
'title' doesn't work when CirrusSearch is enabled (use intitle instead).
interwiki Include interwiki results in the search, if available.
rewrites Enable internal query rewriting, for example to correct spelling mistakes.
sort 'relevance' Sorting criteria.
format 'list' Format of the search results. (See below for more.)

For example, to get the name of the latest file that has foo in the title:

{{#search: foo
| namespace = 6
| limit = 1
| what = title
| sort = create_timestamp_asc
| format = plain
}}

Formats

[edit ]

List

[edit ]

Returns an unordered list (‎<ul>) of search results, linked to their pages. For example:

Count

[edit ]

Returns the total number of search results as a plain number.

Plain

[edit ]

Returns a comma-separated list of plain titles. For example:

Foo, Bar, Baz

This format is designed for further processing. For example, using the #arraymap function of Extension:PageForms :

{{#arraymap: {{#search:foo}} | , | @ | [[@]] | <br> }}

This would output the search results one below the other and linked to their pages, like so:

Foo
Bar
Baz

If some of the titles contain commas, you can change the separator like so:

{{#search:foo|separator=;}}

JSON

[edit ]

Returns a JSON object for further processing, for example in a Lua module .

Note that this format returns the entire output from the Search API, not just the search results.

Template

[edit ]

Returns the search results wrapped in a template. The search result title is passed to the template as an unnamed parameter {{{1}}} and may be used or ignored.

For example, if a template named "Search result" contained the following:

<divstyle="border: 1px solid #aaa; border-radius: 10px; margin: 1em 0; padding: 1em; max-width: 600px;">
<spanstyle="font-size:120%">[[{{{1}}}]]</span>
<p>{{fullurl:{{{1}}}}}</p>
</div>

then a query such as:

{{#search: foo
| format = template
| template = Search result
}}

would output something like this:

Hooks

[edit ]

SearchParserFunctionQuery

[edit ]

Use this hook to customize the query to the Search API.

SearchParserFunctionOutput

[edit ]

Use this hook to add or modify search result formats.

See also

[edit ]

AltStyle によって変換されたページ (->オリジナル) /