Extension:CirrusSearch/de

Die CirrusSearch-Erweiterung implementiert eine Suchfunktion in MediaWiki, die Elasticsearch benutzt.

Elastic Search is a standalone third-party software that must be installed in advance. It's a database system that provides search and indexing functionality, and where the current text of all pages of your wiki will be indexed for faster search results. The communication between MediaWiki and ElasticSearch is done through web services.

Diese Seite beschreibt die Installation. Nach erfolgreicher Installation geht es bei weiter zur Benutzung.

Projektziele

 * Keine seltsamen Abhängigkeiten, die die Installation erschweren
 * Die einzigen Abhängigkeiten sollten reine PHP-Mediawiki-Erweiterungen und Elasticsearch selbst sein
 * Einen nahezu in Echtzeit aktualisierten Suchindex für Wikiseiten bereitstellen, der durch andere MediaWiki-Erweiterungen erweiterbar ist.
 * Alle Abfrageoptionen bereitstellen, die Usern lieferte und mehr

Abhängigkeiten

 * PHP und cURL
 * Zusätzlich zu den Mediawiki-Standard-Anforderungen an PHP, muss PHP für CirrusSearch mit cURL-Support kompiliert worden sein.
 * Elasticsearch
 * Man muss install Elasticsearch|Elasticsearch installieren.

Every version of ElasticSearch change how web services work, and cause compatibility problems. You must install the version of Elastic Search compatible with the version of MediaWiki you are currently using:

Zu beachten ist, dass zusätzlich eine Java-Installation, wie OpenJDK, benötigt wird. It's best to use the official Elasticsearch Docker image or a self-hosted version. A managed product like Amazon OpenSearch (formerly Amazon Elasticsearch) can work but may require additional configuration depending on its specifics. For example, Amazon OpenSearch only listens for Elasticsearch API requests over HTTPS on port 443 (i.e. it does not expose the default Elasticsearch port 9200), so a TLS-enabled proxy (e.g. Nginx) can enable CirrusSearch to communicate with an Amazon OpenSearch cluster.


 * Elastica ist eine PHP-Bibliothek um mit Elasticsearch zu reden. Elastica kann nach der Anleitung weiter unten installiert werden.
 * Elastica ist eine PHP-Bibliothek um mit Elasticsearch zu reden. Elastica kann nach der Anleitung weiter unten installiert werden.


 * Andere :
 * Aufgrund der tatsächlichen Handhabung der Aufträge durch die CirrusSearch-Erweiterung ist es ratsam, Aufträge in redis aufzusetzen, um Nachrichten wie Notice: unserialize: Error at offset 64870 of 65535 bytes in JobQueueDB.php und Unsupported operand types zu verhindern. Siehe.

Obwohl unten beschrieben wird, dass man Composer nur ausführen soll soll, wenn man von Git installiert, kann es nötig sein, Composer trotzdem auszuführen, um alle PHP-Abhängigkeiten zu installieren.

Upgrading
Please follow the upgrade instructions in the CirrusSearch file.

Konfiguration
The configuration parameters of CirrusSearch are documented at the file. See also documentation on CirrusSearch configuration profiles.

Hooks
CirrusSearch extension defines a number of hooks that other extensions can make use of to extend the core schema and modify documents. The following hooks are available:


 * - allows to hook into the configuration for analysis
 * - allows configuration of the mapping of fields
 * - allows extensions to modify ElasticSearch document produced from a page
 * - allows extensions to process incoming and outgoing links for the document
 * - called when a batch of pages has been indexed
 * - allows extensions to add query parser features
 * - allows extensions to define rescore builder functions
 * - allows extension to declare various search components and configuration

API
CirrusSearch features can be used in API queries. Searching happens via the normal search API, ; you can use CirrusSearch-specific features, such as the   special prefix to find pages related to Marie Curie and radium: api.php?action=query&list=search&srsearch=morelike:Marie_Curie%7Cradium&srlimit=10&srprop=size&formatversion=2 Custom APIs and parameters are provided for querying CirrusSearch configuration and debug information:


 * module: 2014?action=cirrusdump
 * parameter to Special:Search or search API queries: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpQuery
 * parameter to Special:Search or search API queries: 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 score included with the result dump: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain It can also be used to get the explanation in a human-readable format, by giving it one of the values  ,   or  , such as: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain=pretty
 * ,,  ,   modules to obtain dump from the CirrusSearch setup: api.php?action=cirrus-config-dump&formatversion=2

Siehe auch

 * General links
 * - CirrusSearch usage documentation (needed after the install)
 * Info about Wikimedia Cirrus/Elastic setup
 * - sets of tunable parameters that influence various aspect of the indexing
 * - Enhances Special:Search by providing advanced parameters
 * Debugging
 * Debugging
 * How to determine that Cirrus is actually used as the search backend

Local development
Elastic Search service can be run with the Vagrant role and MediaWiki Vagrant.

For Docker, you can use a command like. Then follow the installation and configuration directions. If your web host is in a container you'll want to make sure the above container is on the same network, and in LocalSettings.php you will want to reference  as the host name. This will not have the WMF plugins but can be sufficient for basic testing.