API:Prefixsearch - MediaWiki (original) (raw)
Languages:
- Afrikaans
- Bahasa Indonesia
- Deutsch
- English
- Türkçe
- Zazaki
- dansk
- español
- français
- italiano
- magyar
- polski
- română
- čeština
- русский
- العربية
- ไทย
- ဘာသာမန်
- 中文
- 日本語
| This page is part of the MediaWiki Action API documentation. |
|---|
| The following documentation is the output of Special:ApiHelp/query+prefixsearch, automatically generated by the pre-release version of MediaWiki that is running on this site (MediaWiki.org). |
|---|
- This module requires read rights.
- This module can be used as a generator.
- Source: MediaWiki
- License: GPL-2.0-or-later
Perform a prefix search for page titles.
Despite the similarity in names, this module is not intended to be equivalent to Special:PrefixIndex; for that, see action=query&list=allpages with the apprefix parameter. The purpose of this module is similar to action=opensearch: to take user input and provide the best-matching titles. Depending on the search engine backend, this might include typo correction, redirect avoidance, or other heuristics.
Specific parameters:
pssearch
Search string.
This parameter is required.
psnamespace
Namespaces to search. Ignored if pssearch begins with a valid namespace prefix.
Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 90, 91, 92, 93, 100, 101, 102, 103, 104, 105, 106, 107, 710, 711, 828, 829, 1198, 1199, 1728, 1729, 2600, 5500, 5501
To specify all values, use *.
Default: 0
pslimit
Maximum number of results to return.
Type: integer or max
The value must be between 1 and 500.
Default: 10
psoffset
When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.
Type: integer
The value must be no less than 0.
Default: 0
psprofile
Search profile to use.
strict
Strict profile with few punctuation characters removed but diacritics and stress marks are kept.
normal
Few punctuation characters, some diacritics and stopwords removed.
normal-subphrases
Few punctuation characters, some diacritics and stopwords removed. It will match also subphrases (can be subphrases or subpages depending on internal wiki configuration).
fuzzy
Similar to normal with typo correction (two typos supported).
fast-fuzzy
Experimental fuzzy profile (may be removed at any time)
fuzzy-subphrases
Similar to normal with typo correction (two typos supported). It will match also subphrases (can be subphrases or subpages depending on internal wiki configuration).
classic
Classic prefix, few punctuation characters and some diacritics removed.
engine_autoselect
Let the search engine decide on the best profile to use.
One of the following values: classic, engine_autoselect, fast-fuzzy, fuzzy, fuzzy-subphrases, normal, normal-subphrases, strict
Default: engine_autoselect
{ "batchcomplete": "", "continue": { "psoffset": 10, "continue": "-||" }, "query": { "prefixsearch": [ { "ns": 0, "title": "Star Wars", "pageid": 26678 }, { "ns": 0, "title": "Star Wars: The Last Jedi", "pageid": 43910621 }, { "ns": 0, "title": "Star Wars: The Force Awakens", "pageid": 14723194 }, { "ns": 0, "title": "Star Wars (film)", "pageid": 52549 } ... ] } }
#!/usr/bin/python3
""" prefixsearch.py
MediaWiki API Demos
Demo of `Prefixsearch` module: Perform a prefix search for page titles
MIT License"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = { "action": "query", "format": "json", "list": "prefixsearch", "pssearch": "Star Wars" }
R = S.get(url=URL, params=PARAMS) DATA = R.json()
PAGES = DATA['query']['prefixsearch']
for page in PAGES: print(page["title"])
"query", "list" => "prefixsearch", "pssearch" => "Star Wars", "format" => "json" ]; url=url = url=endPoint . "?" . http_build_query( $params ); ch=curlinit(ch = curl_init( ch=curlinit(url ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); output=curlexec(output = curl_exec( output=curlexec(ch ); curl_close( $ch ); result=jsondecode(result = json_decode( result=jsondecode(output, true ); foreach( result["query"]["prefixsearch"]asresult["query"]["prefixsearch"] as result["query"]["prefixsearch"]aspage ) { echo( $page["title"] . "\n" ); } /* prefixsearch.js MediaWiki API Demos Demo of `Prefixsearch` module: Perform a prefix search for page titles MIT License */ var url = "https://en.wikipedia.org/w/api.php"; var params = { action: "query", list: "prefixsearch", pssearch: "Star Wars", format: "json" }; url = url + "?origin=*"; Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];}); fetch(url) .then(function(response){return response.json();}) .then(function(response) { var pages = response.query.prefixsearch; for (var page in pages) { console.log( pages[page].title ); } }) .catch(function(error){console.log(error);}); /* prefixsearch.js MediaWiki API Demos Demo of `Prefixsearch` module: Perform a prefix search for page titles MIT License */ var params = { action: 'query', list: 'prefixsearch', pssearch: 'Star Wars', format: 'json' }, api = new mw.Api(); api.get( params ).done( function ( data ) { var pages = data.query.prefixsearch, page; for ( page in pages ) { console.log( pages[ page ].title ); } } ); | Code | Info | | ---------- | ----------------------------------- | | nopssearch | The pssearch parameter must be set. | * [API:All search modules](/wiki/Special:MyLanguage/API:All%5Fsearch%5Fmodules "Special:MyLanguage/API:All search modules")[ ](/wiki/API:All%5Fsearch%5Fmodules "API:All search modules")