Extension:CirrusSearch/fr

L'extension CirrusSearch implémente la recherche dans MediaWiki en utilisant Elasticsearch.

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.

Cette page concerne l'installation. Une fois celle-ci opérationnelle, voir pour l'utilisation.

Objectifs

 * Aucune dépendance native qui rendrait l'installation difficile
 * Les seules dépendances sont avec les extensions MediaWiki purement PHP et Elasticsearch lui-même
 * Fournir un index de recherche quasiment en temps réel pour les pages wiki extensibles par d'autres extensions MediaWiki
 * Fournir aux utilisateurs toutes les options de recherche dont disposait, et davantage.

Dépendances

 * PHP et cURL
 * En plus des besoins standard de MediaWiki pour PHP, CirrusSearch nécessite que PHP soit compilé avec la prise en charge de cURL.
 * Elasticsearch
 * Vous devrez installer Elasticsearch.

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:

Notez bien qu'une installation supplémentaire de Java comme OpenJDK est nécessaire. 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 est une bibliothèque PHP pour parler à Elasticsearch. Installez Elastica à l'aide des instructions ci-dessous.
 * Elastica est une bibliothèque PHP pour parler à Elasticsearch. Installez Elastica à l'aide des instructions ci-dessous.


 * Autres :
 * A cause de la manière dont l'extension CirrusSearch gère actuellement les tâches, il est recommandé de fixer les tâches dans Redis afin d'empêcher les messages tels que Notice: unserialize: Error at offset 64870 of 65535 bytes in JobQueueDB.php et les erreurs qui en découlent comme Unsupported operand types. Voir.

Bien que les instructions ci-dessous vous indiquent de n'excuter Composer que lorsque vous faites une installation à partir de Git, il peut être nécessaire de le faire passer dans tous les cas afin d'installer toutes les dépendances PHP.

Mise à jour
Veuillez suivre les instructions de mise à jour conenues dans le fichier CirrusSearch.

Configuration
Les paramètres de configuration CirrusSearch sont documentés dans le fichiers. Voir aussi la documentation sur les profils de configuration CirrusSearch.

Accroches
L'extension CirrusSearch définit un nombre d'accroches que les autres extensions peuvent réutiliser pour étendre le schéma du noyau et pour modifier les documents. Les accroches suivantes sont utilisables :


 * - permet de s'accocher à la configuration pour des besoins d'analyse
 * - permet le paramètrage de la correspondance des champs
 * - permet aux extensions de modifer le document ElasticSearch produit à partir d'une page
 * - permet aux extensions de traiter les liens entrants et sortants pour le document
 * - appelé lorsqu'un lot de pages a été indexé
 * - permet aux extensions d'ajouter des fonctionnalités à l'analyseur syntaxique des requêtes
 * - permet aux extensions de définir des fonctions de rescore au build
 * - allows extension to declare various search components and configuration

API
Les fonctionnalités de CirrusSearch peuvent être utilisées dans les requêtes d'API. La recherche se fait en utilisant l'API search,  ; vous pouvez utiliser les fonctionnalités spécifiques de CirrusSearch, telles que le préfixe spécial   pour trouver les pages relatives à Marie Curie et au radium: api.php?action=query&list=search&srsearch=morelike:Marie_Curie%7Cradium&srlimit=10&srprop=size&formatversion=2 Les APIs personnalisées et les paramètres sont fournis pour interroger la configuration CirrusSearch et les informations de débogage :


 * module: 2014?action=cirrusdump
 * paramètre vers Special:Search ou requêtes API search: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpQuery
 * paramètre de Special:Search ou requêtes API search : https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult
 * Un paramètre supplémentaire,, peut être passé avec   pour obtenir l'explication Lucene du noyau inclus avec la liste des résultats: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain Il peut aussi être utilisé pour obtenir l'explication dans un format lisible par un humain, en lui donnant une des valeurs suivantes :  ,   or  , comme pour : https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain=pretty
 * Les modules,  ,  ,   permettent d'obtenir les paramètres CirrusSearch de configuration : api.php?action=cirrus-config-dump&formatversion=2

Voir aussi

 * General links
 * - Documentation sur l'utilisation de CirrusSearch (nécessaire après l'installation)
 * Informations concernant les paramètres Wikimedia Cirrus/Elastic
 * - ensembles de paramètres adaptables qui influencent différents aspects de l'indexation
 * - Enhances Special:Search by providing advanced parameters
 * Débogage
 * Comment déterminer que Cirrus est réellement utilisé comme moteur de recherche
 * Comment déterminer que Cirrus est réellement utilisé comme moteur de recherche

Développement local
Le service Elastic Search peut être exécuté avec les rôles Vagrant et MediaWiki Vagrant.

Pour Docker, vous pouvez utiliser une commande telle que. Ensuite suivez les instructions pour l'installation et la configuration. Si l'hôte pour votre web se trouve dans un conteneur, assurez vous que le conteneur se trouve sur le même réseau, et dans LocalSettings.php référencez  comme le nom de l'hôte. Ceci ne prendra pas en compte les plugins WMF mais peut être suffisant pour les tests de base.