API:Search/fr

This page is a translated version of the page API:Search and the translation is 100% complete.
Version de MediaWiki :
1.11

Requête GET pour la recherche avancée de pages du wiki à partir du titre ou de texte du contenu.

Documentation de l'API


list=search (sr)

(main | query | search)
  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

Perform a full text search.

Specific parameters:
Other general parameters are available.
srsearch

Search for page titles or content matching this value. You can use the search string to invoke special search features, depending on what the wiki's search backend implements.

This parameter is required.
srnamespace

Search only within these namespaces.

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, 486, 487, 710, 711, 828, 829, 1198, 1199, 2600, 5500, 5501
To specify all values, use *.
Default: 0
srlimit

How many total pages to return.

Type: integer or max
The value must be between 1 and 500.
Default: 10
sroffset

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
srqiprofile

Query independent profile to use (affects ranking algorithm).

classic
Ranking based on the number of incoming links, some templates, page language and recency (templates/language/recency may not be activated on this wiki).
classic_noboostlinks
Ranking based on some templates, page language and recency when activated on this wiki.
empty
Ranking based solely on query dependent features (for debug only).
wsum_inclinks
Weighted sum based on incoming links
wsum_inclinks_pv
Weighted sum based on incoming links and weekly pageviews
popular_inclinks_pv
Ranking based primarily on page views
popular_inclinks
Ranking based primarily on incoming link counts
engine_autoselect
Let the search engine decide on the best profile to use.
One of the following values: classic, classic_noboostlinks, empty, engine_autoselect, popular_inclinks, popular_inclinks_pv, wsum_inclinks, wsum_inclinks_pv
Default: engine_autoselect
srwhat

Which type of search to perform.

One of the following values: nearmatch, text, title
srinfo

Which metadata to return.

Values (separate with | or alternative): rewrittenquery, suggestion, totalhits
Default: totalhits|suggestion|rewrittenquery
srprop

Which properties to return:

size
Adds the size of the page in bytes.
wordcount
Adds the word count of the page.
timestamp
Adds the timestamp of when the page was last edited.
snippet
Adds a snippet of the page, with query term highlighting markup.
titlesnippet
Adds the page title, with query term highlighting markup.
redirecttitle
Adds the title of the matching redirect.
redirectsnippet
Adds the title of the matching redirect, with query term highlighting markup.
sectiontitle
Adds the title of the matching section.
sectionsnippet
Adds the title of the matching section, with query term highlighting markup.
isfilematch
Adds a boolean indicating if the search matched file content.
categorysnippet
Adds the matching category name, with query term highlighting markup.
score
Deprecated. Ignored.
hasrelated
Deprecated. Ignored.
extensiondata
Adds extra data generated by extensions.
Values (separate with | or alternative): categorysnippet, extensiondata, isfilematch, redirectsnippet, redirecttitle, sectionsnippet, sectiontitle, size, snippet, timestamp, titlesnippet, wordcount, hasrelated, score
Default: size|wordcount|timestamp|snippet
srinterwiki

Include interwiki results in the search, if available.

Type: boolean (details)
srenablerewrites

Enable internal query rewriting. Some search backends can rewrite the query into another which is thought to provide better results, for instance by correcting spelling errors.

Type: boolean (details)
srsort

Set the sort order of returned results.

One of the following values: create_timestamp_asc, create_timestamp_desc, incoming_links_asc, incoming_links_desc, just_match, last_edit_asc, last_edit_desc, none, random, relevance, user_random
Default: relevance

Requête GET


Les résultats par défaut de la recherche ne sont pas encodés UTF8. Remplacez utf8 dans la requête GET ci-dessus pour voir la différence.

Réponse

{
    "batchcomplete": "",
    "continue": {
        "sroffset": 10,
        "continue": "-||"
    },
    "query": {
        "searchinfo": {
            "totalhits": 5060
        },
        "search": [
            {
                "ns": 0,
                "title": "Nelson Mandela",
                "pageid": 21492751,
                "size": 196026,
                "wordcount": 23664,
                "snippet": "<span class=\"searchmatch\">Nelson</span> Rolihlahla <span class=\"searchmatch\">Mandela</span> (/mænˈdɛlə/, Xhosa: [xoliɬaˈɬa <span class=\"searchmatch\">manˈdɛla</span>]; 18 July 1918 – 5 December 2013) was a South African anti-apartheid revolutionary,",
                "timestamp": "2018-07-23T07:59:43Z"
            },
            {
                "ns": 0,
                "title": "Death of Nelson Mandela",
                "pageid": 41284488,
                "size": 133513,
                "wordcount": 13512,
                "snippet": "On December 5, 2013, <span class=\"searchmatch\">Nelson</span> <span class=\"searchmatch\">Mandela</span>, the first President of South Africa to be elected in a fully representative democratic election, as well as the country's",
                "timestamp": "2018-07-19T17:30:59Z"
            }
            ...
        ]
    }
}

Exemple de code

Python

#!/usr/bin/python3

"""
    search.py

    MediaWiki API Demos
    Demo of `Search` module: Search for a text or title

    MIT License
"""

import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

SEARCHPAGE = "Nelson Mandela"

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "search",
    "srsearch": SEARCHPAGE
}

R = S.get(url=URL, params=PARAMS)
DATA = R.json()

if DATA['query']['search'][0]['title'] == SEARCHPAGE:
    print("Your search page '" + SEARCHPAGE + "' exists on English Wikipedia")

PHP

<?php
/*
    search.php

    MediaWiki API Demos
    Demo of `Search` module: Search for a text or title

    MIT License
*/

$searchPage = "Nelson Mandela";

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "list" => "search",
    "srsearch" => $searchPage,
    "format" => "json"
];

$url = $endPoint . "?" . http_build_query( $params );

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );

$result = json_decode( $output, true );

if ($result['query']['search'][0]['title'] == $searchPage){
    echo("Your search page '" . $searchPage . "' exists on English Wikipedia" . "\n" );
}

JavaScript

/*
    search.js

    MediaWiki API Demos
    Demo of `Search` module: Search for a text or title

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = new URLSearchParams({
    action: "query",
    list: "search",
    srsearch: "Nelson Mandela",
    format: "json",
    origin: location.origin
});

fetch(`${url}?${params}`)
    .then(function(response){return response.json();})
    .then(function(response) {
        if (response.query.search[0].title === "Nelson Mandela"){
            console.log("Your search page 'Nelson Mandela' exists on English Wikipedia" );
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	search.js

	MediaWiki API Demos
	Demo of `Search` module: Search for a text or title

	MIT License
*/

var params = {
		action: 'query',
		list: 'search',
		srsearch: 'Nelson Mandela',
		format: 'json'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	if ( data.query.search[ 0 ].title === 'Nelson Mandela' ) {
		console.log( "Your search page 'Nelson Mandela' exists on English Wikipedia" );
	}
} );

Erreurs possibles

Code Information
nosrsearch Le paramètre srsearch doit être défini.
Ceci était un paramètre de la recherche avant la v1.17
search-text-disabled La recherche text est désactivée.
search-title-disabled La recherche title est désactivée.
search-error une erreur s'est produite durant la recherche

Historique des paramètres

  • v1.24: score,hasrelated obsolète
  • v1.23:
    • srredirects supprimé. Les redirections sont toujours incluses.
    • srinterwiki ajouté
  • v1.22: srbackend ajouté
  • v1.17: nearmatch, score, titlesnippet, redirecttitle, redirectsnippet, sectiontitle, sectionsnippet, hasrelated ajouté
  • v1.16: srinfo, srprop ajouté

Notes supplémentaires

  • L'interprétation de srsearch varie en fonction du code qui exécute la recherche en arrière plan. Sur les wikis Wikimedia qui utilisent CirrusSearch, voir Aide:CirrusSearch pour les informations concernant la syntaxe de la recherche.

Voir aussi