Extension:CirrusSearch/pt-br

A extensão CirrusSearch implementa um mecanismo de busca para o MediaWiki utilizando o Elasticsearch.

Elasticsearch is a standalone third-party software you must install as a requirement for this extension. It is a database system that provides search and indexing functionality, where the current text of your wiki pages gets indexed for faster and improved search results. The communication between MediaWiki and ElasticSearch is done through web services.

See also the help page on using this extension.

Objetivos

 * Nenhuma dependência que dificulte o processo de instalação
 * As únicas dependências são as extensões do MediaWiki (somente em PHP) e o próprio Elasticsearch
 * Fornecer um índice de busca para páginas wiki quase que em tempo real que seja extensível por outras extensões do MediaWiki
 * Fornecer todas as opções de busca que o já dá aos usuários e incluir novas

Dependências

 * PHP e cURL
 * Além das dependências usuais que o MediaWiki tem para o PHP, o CirrusSearch precisa que o PHP seja compilado com suporte ao cURL.
 * Note that Elasticsearch versions prior to 6.8 are not compatible with PHP 8.
 * Elasticsearch
 * É necessário instalar o 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:

Note que uma instalação do Java (como o OpenJDK) também é necessária. 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.


 * A Elastica é uma biblioteca do PHP que se comunica com o Elasticsearch. Instale-a seguindo as instruções abaixo.
 * A Elastica é uma biblioteca do PHP que se comunica com o Elasticsearch. Instale-a seguindo as instruções abaixo.


 * Outras :
 * Devido à forma atual com a qual os trabalhos (jobs) são tratados pela extensão CirrusSearch, é preferível configurá-los no Redis para evitar mensagens do tipo Notice: unserialize: Error at offset 64870 of 65535 bytes in JobQueueDB.php e erros como Unsupported operand types. Veja.

Embora as instruções a seguir sugiram que o Composer seja executado apenas ao instalar a partir do git, talvez seja necessário usá-lo para instalar as dependências do PHP faltantes.

Atualizando
Siga as instruções de atualização no arquivo do CirrusSearch.

Configuração
Os parâmetros de configuração do CirrusSearch estão documentados no arquivo. Veja também a documentação para os perfis de configuração do CirrusSearch.

Hooks
A extensão CirrusSearch define uma série de hooks utilizáveis por outras extensões para estender o esquema e modificar documentos. Os seguintes hooks estão disponíveis:


 * - permite configurar a forma de análise
 * - permite configurar o mapeamento de campos
 * - permite que extensões modifiquem o documento do ElasticSearch produzido a partir de uma página
 * - permite que extensões processem ligações chegando do/partindo para o documento
 * - chamado quando um lote de páginas foi indexado
 * - permite que extensões adicionem recursos de análise de consulta (query)
 * - permite que extensões definam funções construtoras de repontuação
 * - allows extension to declare various search components and configuration

API
Os recursos do CirrusSearch podem ser utilizados em consultas à API. A busca ocorre através da API de busca padrão,. É possível utilizar recursos específicos do CirrusSearch, como o prefixo  para encontrar páginas relacionadas a Marie Curie e radium: [$urlquery api.php?action=query&list=search&srsearch=morelike:Marie_Curie%7Cradium&srlimit=10&srprop=size&formatversion=2] api.php?action=query&list=search&srsearch=morelike:Marie_Curie%7Cradium&srlimit=10&srprop=size&formatversion=2

APIs e parâmetros personalizados são fornecidos para consultar informações de configuração e depuração do CirrusSearch:


 * Módulo : 2014?action=cirrusdump
 * Parâmetro  para Special:Search ou consultas à API de busca: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpQuery
 * Parâmetro  para Special:Search ou consultas à API de busca: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult
 * Um parâmetro adicional  pode ser incluído com   para ter a explanação que o Lucene dá à pontuação incluída com o dump de resultados: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain. Ele pode ser utilizado também para obter a explanação num formato legível através dos valores ,   ou  , como https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain=pretty
 * Módulos,  ,  ,   para obter um dump da configuração do CirrusSearch: api.php?action=cirrus-config-dump&formatversion=2



Ver também

 * General links
 * - documentação de uso do CirrusSearch (necessária após a instalação)
 * Informações sobre a configuração do Cirrus/Elastic na Wikimedia
 * - conjuntos de parâmetros ajustáveis que influenciam vários aspectos da indexação
 * - provides faceted search API for Semantic MediaWiki using ElasticSearch.
 * - Enhances Special:Search by providing advanced parameters
 * Debugging
 * Debugging
 * How to determine that Cirrus is actually used as the search backend



Desenvolvimento local
O serviço Elasticsearch pode ser executado com a função do Vagrant e com o MediaWiki Vagrant.

No Docker, é possível utilizar o comando. Siga então as direções de instalação e configuração. Se seu web host estiver num container, será necessário certificar-se que o container acima está na mesma rede, e o  deverá referenciar   como hostname. Isso não ativará os plug-ins da WMF, mas é o suficiente para um ambiente de testagem.