API:Search and discovery/de

MediaWiki, seine Erweiterungen und und seine Schwesterprojekte bieten enormes Potenzial, um Wissen durch Suchen zu entdecken. Das Search-Platform-Team entwickelt den Mechanismus, Werkzeuge und Dienste, um dies zu tun.

Benutzer können Informationen in MediaWiki finden, indem sie sie direkt suchen und in Wikidata, indem sie Help:Navigation in Wikidata lesen.

MediaWiki
Die MediaWiki API hat unterschiedliche Module mit Bezug zu Suchen. Du kannst am -Eingangspunkt jedes Wikis Abfragen stellen und dir die generierte Hilfe ansehen oder auf Special:ApiSandbox API-Abfrageparameter eintragen.

Suchmodule

 * action=opensearch
 * Siehe . Gibt Suchergebnisse im OpenSearch-Format aus, jeweils mit in Wikimedia-Projekten. Generierte API-Hilfe ansehen


 * action=languagesearch
 * Nach Sprachnamen in einem beliebigen Skript suchen. Generierte API-Hilfe ansehen

Abfragelisten-Submodule
Diese Abfrage-Submodule geben eine Liste von Wiki-Seiten aus, die Such-Kriterien erfüllen und geben teilweise zusätzliche Informationen über jede Seite aus. Darüber hinaus kannst du jedes als Generator nutzen, um viele andere Eigenschaften zu den zurückgegebenen Seiten bereitzustellen, wie das Einleitungsbild, Ausschnitt und/oder Seitenbeschreibung.


 * action=query list=prefixsearch
 * Ruft Titel von Wiki-Seiten mit dem angegebenen Präfix ab. Siehe den Artikel Seiteninfo in Suchergebnissen. Siehe die Modul-Dokumentation für und sieh dir die generierte API-Hilfe an.


 * action=query list=search
 * Nutzt die Wiki-Suchmaschine, um passende Seiten zu finden. In Wikimedia-Wikis bietet es Suchergebnisse der CirrusSearch, die typische Informationen zu Suchergebnissen, wie Text-Ausschnitte und Seitengröße ausgibt. Siehe die Modul-Dokumentation für und sieh dir die generierte API-Hilfe an


 * action=query list=geosearch
 * Wenn die GeoData-Erweiterung im Wiki installiert ist, gibt dies Wiki-Seiten in der Nähe mit geografischen Informationen aus. Siehe den Artikel Nahegelegene-Orte-Betrachter, die Modul-Dokumentation für die Geosuche und sieh dir die generierte API-Hilfe an.

Kommandozeile
Aus der Kommandozeile kannst du die API abfragen, indem du cURL nutzt, um die API-Abfrage zu stellen und jq, um die JSON-Abfrage zu parsen.

Lass uns zum Beispiel das Datenobjekt in Wikidata nachschlagen und die englische Bezeichnung abfragen:

Wir finden heraus, dass Q39246 der Wikidata-Identifikator für das Datenobjekt mit der englischen Bezeichnung "Richard Feynman" ist und dass es 55 Aussagen über ihn gibt.

JavaScript
Um einen MediaWiki-API-Client in JavaScript zu schreiben, wird nur ein JSONP-Handler benötigt. Viele Bibliotheken (z.B. jQuery) umfassen JSONP-Clients oder es kann ein unabhängiger geschrieben werden.

Im MediaWiki-Ökosystem kann jQuery direkt genutzt werden:

Dies nutzt  von jQuery, der in vielen interaktiven JavaScript-Code-Umgebungen verfügbar ist und Sinn macht, wenn dein Ziel ein eigenständiges Projekt ist.

Wenn dein Ziel ist, Code in einem Wiki auszuführen, z.B. als Gadget, solltest du die höherstufige Funktion  nutzen, die vom 'mediawiki.api'-ResourceLoader-Modul angeboten wird.

In anderen Umgebungen kann ein einfacher JSONP-Handler geschrieben werden:

CirrusSearch
CirrusSearch is a MediaWiki extension to enable Elastic-based search of MediaWiki content. It acts as a search back-end, so  is the main interface to this.

You can use the same Cirrus features in API queries that users can enter in the search box. For example, you can use the  special prefix to find related pages.

Additional CirrusSearch API modules
In addition, CirrusSearch can report its configuration and internal information. These APIs are probably only useful if you're familiar with Elasticsearch and want to see how CirrusSearch uses it. These are all considered internal debugging API's and no guarantees are made with regards to backwards compatability of changes to their output.


 * Seitenparameter
 * Zum Beispiel https://en.wikipedia.org/wiki/2014?action=cirrusdump


 * parameter to Special:Search queries
 * This is an action parameter to index.php, for example https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpQuery


 * parameter to Special:Search queries
 * This is an action parameter to index.php, for example https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult
 * An additional parameter,, can be passed with   to have the lucene explanation of the the score included with the result dump. For example https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain


 * API-Module cirrus-config-dump, cirrus-settings-dump, cirrus-mapping-dump
 * These dump the CirrusSearch setup.

Wikidata
Wikidata's API includes a few actions (wbgetentities, wbgetclaims, wbsearchentities) that can be used to search for information about entities, properties, statements, and claims.

Wikidata-Abfragedienst
performs graph-based searching of via a SPARQL API. It's available at https://query.wikidata.org/

WDQS Explorer (demo) (source code) provides in-browser graph exploration using SPARQL queries against the Wikidata Query Service.

Wikipedia
Browse to https://en.wikipedia.org/wiki/Main_Page, open up the JavaScript console, and run the following:

This logs the string  to the JavaScript console.

If the MediaWiki libraries and environment are unavailable, this can be done using the  function above:

Wikidata
Using JSONP, we can perform the above steps right from the Web browser's JavaScript console. On Wikipedia, the Wikidata item identifier is available via the MediaWiki configuration value.

Browse to https://en.wikipedia.org/wiki/Richard_Feynman, open up the JavaScript console, and run the following:

This logs the string  and the Wikidata entry description string "American quantum physicist" to the JavaScript console.

If the MediaWiki libraries and environment are unavailable, this can be done using the  function above:

Wiktionary
Browse to https://en.wikipedia.org/wiki/Main_Page, open up the JavaScript console, and run the following:

This logs the string  to the JavaScript console.

If the MediaWiki libraries and environment are unavailable, this can be done using the  function above: