Extension:CirrusSearch/fr
CirrusSearch État de la version : stable |
|
---|---|
Implémentation | Rechercher, API , Accroche |
Description | Implémente la recherche dans MediaWiki en utilisant Elasticsearch |
Auteur(s) | Nik Everett, Chad Horohoe, Erik Bernhardson |
Dernière version | mises à jour continues |
Politique de compatibilité | branches de version |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | README |
|
|
|
|
|
|
Traduire l’extension CirrusSearch sur translatewiki.net | |
Rôle Vagrant | cirrussearch |
Problèmes | Tâches ouvertes · Signaler un bogue |
L'extension CirrusSearch implémente la recherche dans MediaWiki en utilisant Elasticsearch.
Cette page concerne l'installation. Une fois celle-ci opérationnelle, voir Aide:CirrusSearch 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 MWSearch 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.
- MediaWiki 1.29.x et 1.30.x nécessitent Elasticsearch 5.3.x ou 5.4.x.
- MediaWiki 1.31.x et 1.32.x nécessitent Elasticsearch 5.5.x ou 5.6.x.
- MediaWiki 1.33.x et 1.34.x nécessitent Elasticsearch 6.5.x (6.5.4 recommandé).
Notez bien qu'une installation supplémentaire de Java comme OpenJDK est nécessaire.
- 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 tâche T157759.
Installation
Elastica
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.
- Téléchargez et placez le(s) fichiers (s) dans un répertoire appelé
Elastica
dans votre dossierextensions/
. - Seulement lorsque vous installez à partir de Git, exécutez Composer pour installer les dépendances PHP, en entrant
composer install --no-dev
après vous être positionné dans le répertoire de l'extension. (Voir tâche T173141 pour des complications potentielles.) - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'Elastica' );
Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
CirrusSearch
- Téléchargez et placez le(s) fichiers (s) dans un répertoire appelé
CirrusSearch
dans votre dossierextensions/
. - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'CirrusSearch' );
- Maintenant suivez les instructions de configuration du fichier CirrusSearch README figurant avec votre extension par exemple
$IP/extensions/CirrusSearch/README
. Notez bien que toutes les informations qui y figurent ne s'appliquent pas forcément à la version de votre extension, particulièrement en ce qui concerne la version compatible de Elasticsearch. - Configurez comme cela est indiqué.
Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Mise à jour
Veuillez suivre les instructions de mise à jour conenues dans le fichier CirrusSearch UPGRADE .
Configuration
Les paramètres de configuration CirrusSearch sont documentés dans les fichiers $gitconfig et $gitcirrus . Voir aussi la documentation sur les profils de configuration CirrusSearch.
$wgCirrusSearchIndexBaseName
configuration parameter which one needs to set, e.g. $wgCirrusSearchIndexBaseName = 'mywikidatabasename';
.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 :
- CirrusSearchAnalysisConfig - permet de s'accocher à la configuration pour des besoins d'analyse
- CirrusSearchMappingConfig - permet le paramètrage de la correspondance des champs
- CirrusSearchBuildDocumentParse - permet aux extensions de modifer le document ElasticSearch produit à partir d'une page
- CirrusSearchBuildDocumentLinks - permet aux extensions de traiter les liens entrants et sortants pour le document
- CirrusSearchBuildDocumentFinishBatch - appelé lorsqu'un lot de pages a été indexé
- CirrusSearchAddQueryFeatures - permet aux extensions d'ajouter des fonctionnalités à l'analyseur syntaxique des requêtes
- CirrusSearchScoreBuilder - permet aux extensions de définir des fonctions de rescore au build
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, action=query&list=search
; vous pouvez utiliser les fonctionnalités spécifiques de CirrusSearch, telles que le préfixe spécial morelike:
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 :
action=cirrusdump
module: 2014?action=cirrusdumpcirrusDumpQuery
paramètre vers Special:Search ou requêtes API search: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpQuerycirrusDumpResult
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,
cirrusExplain
, peut être passé aveccirrusDumpResult
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 :verbose
,pretty
orhot
, comme pour : https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain=pretty - Les modules
cirrus-config-dump
,cirrus-settings-dump
,cirrus-mapping-dump
permettent d'obtenir les paramètres CirrusSearch de configuration : api.php?action=cirrus-config-dump&formatversion=2
Voir aussi
- General links
- Usage help page - Documentation sur l'utilisation de CirrusSearch (nécessaire après l'installation)
- Page du projet
- Informations concernant les paramètres Wikimedia Cirrus/Elastic
- Configuration help page - ensembles de paramètres adaptables qui influencent différents aspects de l'indexation
- Debugging
Développement local
Le service Elastic Search peut être exécuté avec les rôles Vagrant (cirrussearch
) et MediaWiki Vagrant.
Pour Docker, vous pouvez utiliser une commande telle que docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.8.2
.
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 elasticsearch
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.
![]() | Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
- Stable extensions/fr
- Search extensions/fr
- API extensions/fr
- Hook extensions/fr
- GPL licensed extensions/fr
- Extensions in Wikimedia version control/fr
- APIAfterExecute extensions/fr
- ApiBeforeMain extensions/fr
- ArticleDelete extensions/fr
- ArticleDeleteComplete extensions/fr
- ArticleRevisionVisibilitySet extensions/fr
- ArticleUndelete extensions/fr
- BeforeInitialize extensions/fr
- CirrusSearchAddQueryFeatures extensions/fr
- CirrusSearchAnalysisConfig extensions/fr
- CirrusSearchSimilarityConfig extensions/fr
- GetPreferences extensions/fr
- LinksUpdateComplete extensions/fr
- MediaWikiServices extensions/fr
- PageMoveComplete extensions/fr
- PrefixSearchExtractNamespace extensions/fr
- ResourceLoaderGetConfigVars extensions/fr
- SearchGetNearMatch extensions/fr
- SearchIndexFields extensions/fr
- ShowSearchHitTitle extensions/fr
- SoftwareInfo extensions/fr
- SpecialSearchResults extensions/fr
- SpecialSearchResultsAppend extensions/fr
- SpecialStatsAddExtra extensions/fr
- TitleMove extensions/fr
- UserGetDefaultOptions extensions/fr
- All extensions/fr
- Extensions requiring Composer with git/fr
- Extensions used on Wikimedia/fr
- Discovery/fr
- Search/fr