Help:CirrusSearch/pt-br

O modo mais rápido de encontrar informações em projetos da Wikimedia é procurá-los diretamente. Em todas as páginas há uma caixa de .

CirrusSearch é uma extensão do MediaWiki que utiliza o Elasticsearch para fornecer recursos de pesquisa melhorados para a pesquisa padrão do MediaWiki. A Fundação Wikimedia usa o CirrusSearch em todos os seus projetos. Esta página descreve as funcionalidades do CirrusSearch. Se a sua pergunta não for respondida aqui, sinta-se livre para perguntar na página de discussão e alguém responderá para você.

Para informações sobre a extensão do MediaWiki, veja.

Como funciona
Insira palavras chaves e frases e pressione Enter ou Return em seu teclado. Ou clique no ícone da lupa, Buscar ou no botão Ir. Se uma página tiver o mesmo título do que você inseriu, você será direcionado para essa página. Caso o contrário, examina-se todas as páginas na wiki e apresenta-se uma lista de artigos que corresponde aos seus termos pesquisados ou uma mensagem te informando que nenhuma página possui todas as palavras-chave e frases.

Se você clicar no botão  sem preencher nada, será direcionado para Especial:Pesquisa, que oferece opções de pesquisa extras (também disponíveis em qualquer lista de resultados de pesquisa)

Talvez você ache útil restringir a pesquisa para páginas dentro de um certo espaço nominal. Por exemplo, buscando apenas as páginas dentro do espaço. Verifique os espaços de nomes necessários para esta pesquisa.

O que foi melhorado?
O CirrusSearch dispõe de três melhorias principais em relação à pesquisa padrão do MediaWiki, nomeadamente:


 * Melhor suporte para pesquisas em diferentes idiomas.
 * Atualizações mais rápidas para o índice de pesquisa, ou seja, as alterações nos artigos são refletidas muito mais rápido nos resultados.
 * Abrangência em predefinições, o que significa que todo o conteúdo de uma predefinição será refletido nos resultados da pesquisa.

Qual é a frequência de atualização do índice de pesquisa?
Atualizações ao índice de pesquisa são feitas quase em tempo real. Mudanças em artigos devem, imediatamente, aparecer nos resultados da pesquisa. Mudanças em predefinições devem, em poucos minutos, ter efeito nos artigos que as incluam. As mudanças em predefinições usam a fila de espera, por isso o desempenho pode variar. Uma edição nula ao artigo forçará a mudança, mas isso não deverá ser necessário se tudo estiver a correr bem.

Sugestões de pesquisa
As sugestões de busca mostradas quando você digita na caixa de pesquisa que exibem páginas candidatas são ordenadas por uma medição aproximada da qualidade do artigo. Isso leva em conta o número de wikilinks recebidos, o tamanho da página, o número de links externos, o número de seções e o número de redirecionamentos. Sugestões de busca podem ser ignoradas e consultas farão com que se vá diretamente para a página de resultados. Adicione um til  antes da consulta. Por exemplo, "~Frida Kahlo". As sugestões de busca ainda aparecerão, mas pressionar a tecla Enter a qualquer momento te levará para a página de resultados.

A restrição por acentuação/diacríticos encontra-se disponível para alguns idiomas — os detalhes diferem para cada língua.

Pesquisa completa de texto
Uma “pesquisa completa de texto” é uma “pesquisa indexada”. Todas as páginas são armazenadas no banco de dados da wiki e todas as palavras nas páginas (que não de redirecionamentos) são armazenadas no banco de dados de pesquisa, que é praticamente um indicador para o texto completo da wiki. Cada palavra visível é indexada à lista de páginas onde é encontrada, então buscar por uma palavra é tão rápido quanto procurar um registro único. Além disso, dadas quaisquer mudanças na redação, o índice de busca é atualizado em segundos.

Há vários índices do "texto completo" da wiki para facilitar os vários tipos de busca necessários. O wikitexto completo é indexado várias vezes dentro de vários índices de propósito especial, cada um analisando o wikitexto de modo que otimize o seu uso. Índices de exemplo incluem:


 * Texto "auxiliar", incluindo hatnotes, legendas, ToC e qualquer wikitexto classificado por um atributo HTML class=searchaux.
 * Texto "introdutório" é o wikitexto entre o topo da página e o primeiro cabeçalho.
 * O texto "categoria" indexa as listagens na parte inferior.
 * Templates são indexados. Se as palavras transcluídas de um template mudam, então todas as páginas a transcluem são atualizadas. (Isso pode demorar um bom tempo dependendo dos trabalhos em espera). Se os subtemplates usados por um template mudarem, o índice é atualizado.
 * Conteúdos de documentos que são armazenados no espaço de nome Ficheiro/Mídia agora são indexados. Milhares de formatos são reconhecidos.

Há suporte para algumas dúzias de idiomas, mas todas as línguas são desejadas. Há uma lista das linguagens atualmente suportadas em elasticsearch.org; veja a documentação para contribuições para submeter solicitações ou correções. Algumas bibliotecas de código aberto de terceiros também são utilizadas para cobrir os idiomas não compatíveis com o Elasticsearch.

CirrusSearch vai otimizar a sua consulta e executá-la. Os títulos resultantes são ponderados conforme relevância e pesadamente pós-processados, 20 por vez, para a página de resultados de pesquisa. Por exemplo, trechos são colhidos do artigo e termos pesquisados são destacados por texto em negrito.

Resultados de busca vão frequentemente ser acompanhados por vários relatórios preliminares. Eles incluem Você quis dizer (correção de ortografia) e, quando nenhum resultado for de outro modo encontrado, ele dirá Mostrando resultados para (consulta corrigida) e busque por (sua consulta).

Funcionalidades de pesquisa também incluem:


 * organizar sugestões de navegação pelo número de links recebidos.
 * Começar com o caracter til  para desabilitar navegação e sugestões de tal forma que também preserve classificação de página.
 * Correspondência esperta de caracteres ao normalizar (ou "transformar") caracteres não presentes no teclado em caracteres de teclado.


 * Palavras e frases que correspondem são destacadas em negrito na página de resultados de busca. O destaque é um analisador cosmético, enquanto o analisador de busca-indexação realmente encontra a página, e eles podem não estar 100% em sincronia, especialmente para expressões regulares. O destaque pode corresponder mais ou menos acuradamente do que o indexador.

Palavras, frases e modificadores
O termo de busca básico é uma palavra ou uma “frase entre aspas”. Os detalhes variam para cada idioma — especialmente àqueles que não utilizam de espaçamento entre as palavras —, mas a pesquisa geralmente reconhece uma “palavra” como:


 * uma sequência de dígitos
 * uma sequência de letras
 * subpalavras entre letras/transições de dígitos, como em txt2regex
 * subpalavras dentro de um nomeComposto usando camelCase

Uma "palavra de parada" é uma palavra que é ignorada (porque é comum ou por outras razões). A lista de palavras de parada é específica para cada idioma, e nem todos as possuem. Um termo de busca dado é correspondido com conteúdo (processado na página). Para corresponder com wikitexto no lugar, use o parâmetro de busca insource (Veja seção abaixo). Cada parâmetro de busca tem o seu próprio índice e interpreta seu termo dado de sua própria forma.

Espaço entre palavras, frases, parâmetros e entradas para parâmetros podem incluir instâncias abundantes de espaços em branco e caracteres de espaço cinza. "Caracteres de espaço cinza" são todos os caracteres não-alfanuméricos ~!@#$%^&_+-={}|[]\:";'<>?,./ . Uma sequência que mistura caracteres de espaço cinza e caracteres de espaço em branco é espaço cinza e é tratado como o limite de uma palavra grande. Espaço em cinza é como índices são feitos e consultas são interpretadas.

Duas exceções são onde 1) uma doispontos:embutidos é uma palavra (sendo tratada como uma letra) e 2) uma vírgula embutida, como em 1,2,3 é tratada como um número. Caracteres de espaço cinza são de outra forma ignorados a não ser que, devido à sintaxe da consulta, eles possam ser interpretados como caracteres modificadores.

Os modificadores são ~ * \? - " ! . Dependendo de sua posição na sintaxe eles podem ser aplicados a um termo, um parâmetro ou a uma consulta completa. Modificadores de palavra e frase são as pesquisas coringa, de proximidade e difusas. Cada parâmetro pode ter seus próprios modificadores, mas em geral:


 * Uma pesquisa difusa pode ser feita com o caractere til e um número indicando o grau.
 * Um caractere til prefixado ao primeiro termo da consulta garante que serão exibidos resultados, em vez de ativar sem querer alguma função de navegação.
 * O caractere coringa dentro de uma palavra pode ser um ponto de interrogação (escapado)  para apenas um caractere ou um asterisco   para zero ou mais caracteres.
 * A verdade-lógica consegue interpretar AND e OR, mas os parâmetros não. Note que os operadores AND e OR não funcionam da maneira lógica tradicional no momento! Para mais detalhes, veja a página de operadores lógicos (em inglês).
 * A verdade-lógica compreende que  ou   prefixados a um termo invertem o significado usual do termo de “corresponder” para “excluir”.


 * Aspas entre palavras fazem uma busca de frase exata. Os parâmetros também devem delimitar a inserção da frase.
 * O processo de stemização é automático, porém pode ser desativado ao usar uma frase exata.

Uma pesquisa por frase pode ser iniciada com várias dicas para o motor de buscas. Cada método de dica tem um efeito colateral de quão tolerante cada combinação de sequência de palavras será. Para dicas de espaço cinza', camelCase ou txt2number'' (texto para número):


 * given words-joined_by_greyspace(characters) or wordsJoinedByCamelCaseCharacters it finds words joined by ... characters, in their bare forms or greyspace forms.
 * txt2number will match  or.
 * Stop words are enabled for the edge cases (in the periphery) of a grey_space or camelCase phrase. An example using the, of , and a is that the_invisible_hand_of_a matches  within the text.

Um parecer de "busque por" é engatilhado quando uma palavra desconhecida universalmente é ignorada em uma frase.

Cada um dos seguntes tipos de combinação de frases contém e abrange as tolerâncias de combinação do anterior:


 * Uma "frase exata" "entre aspas" irá tolerar (combinação com) espaços cinza. Dado "exact_phrase" ou "exact phrase", ela combinará com.
 * Uma frase_com_espaço_cinza inicia checagens provenientes e de palavras de parada.
 * Dado CamelCase ele irá adicionalmente combinar  todo em caixa baixa porque o CirrusSearch não é sensível a maiúsculas e minúsculas. Note that CamelCase matching is not enabled for all languages.

Alguns parâmetros interpretam frases com espaços cinzas, mas outros como  apenas interpretam a usual "frase entre aspas".

Note que toda proveniência não é sensível a letras maiúsculas e minúsculas.

Note como a busca por "frase exata" interpretou o caracter de doispontos:incorporado como uma letra, mas não o caracter de underscore_incorporado. Um evento similar ocorre com o caracter vírgula, dentro de um número.

Dado, CirrusSearch, quando em um contexto de "frase exata" (que inclui o contexto de parâmetro insource), não irá combinar  ,  ,  , mas sim combinar apenas.

Fora isso, lembre-se de que para o CirrusSearch palavras são letras, números ou a combinação dos dois, e letras maiúsculas ou minúsculas não importam.

A busca por palavra comum emprega o caracter de espaço e é agressiva com proveniência, e quando as mesmas palavras são unidas por caracteres de espaço cinza ou camelCase elas são agressivas com frases e subpalavras.

Quando palavras comns como "de" ou "o" são incluídas em uma frase de espaço cinza, elas são ignoradas para uma combinação mais agressiva.

Um termo de busca com frase_em_espaço_cinza, ou um camelCase, ou um termo txt2number, combinam as palavras significativas intercambiavelmente. Você pode usar qualquer uma dessas três formas. Agora, camelcase combina com camelCase porque a busca não é sensível a letras maiúsculas e minúsculas, mas camelCase combina com camelcase porque camelCase é mais agressivo. Como no resto da busca, subpalavra "palavras" não são sensíveis a letras maiúsculas e minúsculas. Por comparação a "frase exata" é orientada a espaço cinza e ignora transições numéricas ou de letras e proveniência. "Frases entre aspas" não são sensíveis a letras maiúsculas e minúsculas.

Da tabela podemos deduzir que a busca básica parser_function -"parser function" é a soma das buscas básicas  e.

Fazendo consultas com números, nós observaríamos que:


 * Plan9 ou Plan_9 combina com qualquer um destes:, , , ,
 * "plan9" só combina com  (não sensível a maiúsculas e minúsculas)
 * Plan*9 combina com  ou

O coringa asterisco * combina um conjunto de letras e dígitos dentro de uma palavra fornecida, mas nunca o caracter de início. Um ou mais caracteres, uma percentagem da palavra, devem proceder o caracter *.


 * Quando * corresponde a números, uma vírgula é considerada parte de um número, mas o ponto decimal é considerado um caractere cinza e delimita dois números.
 * Inside an "exact phrase" * is treated as a greyspace character and not a wild card character, so it delimits words.

O coringa \? representa uma letra ou número; o *\? é também aceito, mas \?* não é reconhecido.

Os coringas são para buscas básicas por palavras, frases e insource, e também podem ser uma alternativa para (algumas) buscas por expressões regulares (explicadas à frente).

Colocar o caracter til ~ após uma palavra ou frase ativa uma busca difusa.


 * Para uma frase, isso é denominado uma busca de proximidade, porque palavras próximas são toleradas em uma aproximação ao invés da frase exata.
 * Por exemplo, "exact one two phrase"~2 é uma combinação para.
 * Para uma palavra, isso significa caracteres extras ou caracteres mudados.
 * Para uma frase, uma busca difusa requer um número inteiro lhe dizendo quantas palavras extras deve-se encaixar, mas para uma palavra uma busca difusa pode ter uma fração decimal, padronizando para word~0.5 ( word~.5 ), onde até duas letras podem ser encontradas trocadas, mudadas ou adicionadas, mas nunca as primeiras duas letras.
 * Para uma frase aproximada, um número grande pode ser usado, mas a busca se torna cara (lenta).
 * Para uma palavra word~2 é a mais difusa, e word~1 é a menos difusa, e word~0 não é difusa.

Para que o valor mais próximo necessário combinar em ordem reversa (direita para esquerda), conte e descarte todas as palavras extras e então adicione duas vezes a quantidad total das palavras restantes menus um. (Em outras palavras, adicione duas vezes o número de segmentos). Para o algoritmo de aproximação máxima, veja Elasticsearch slop.

Aspas desabilitam proveniência, "but appending"~ reabilita a proveniência.

Insource
Buscas insource podem ser usadas para encontrar qualquer palavra processada em uma página, mas é feita para encontrar qualquer frase que você possa encontrar - incluindo um markup da MediaWiki. Essa frase ignora completamente espaços cinzas: insource: "state state autocollapse" combina com.

Insource complementa a si mesmo. Por um lado tem-se uma busca em textos inteiros por qualquer palavra no wikitexto, de maneira instantânea. Por outro, pod-se processar uma busca com expressão regular para qualquer conjunto de caracteres. Expressões regulares analisam todos os caracteres textuais em uma lista de páginas dada; elas não possuem um índice de palavras para acelerar o processo, e ele é interrompido se levar mais de vinte segundos. Expressões regulares são executadas rapidamente, então para limitar análise de níveis de caracteres desnecessários, você fornece a elas uma lista de páginas (um domínio de busca) selecionado por uma busca indexada adicionado à consulta como uma "cláusula", e você faz isso para cada consulta com expressões regulares. Insource pode atuar das duas formas, e o melhor candidato para insource:/arg/ é frequentemente insource:arg, onde arg é o mesmo.

A sintaxe para expressões regulares é insource: sem espaço, e então /regexp/. (Nenhum outro parâmetro desautoriza um espaço. Todos os parâmetros exceto insource:/regexp/ generosamente aceitam espaço após dois pontos).

Busca indexada insource e função de busca com expressões regulares são similares em vários aspectos:


 * As duas buscam por apenas wikitexto.
 * Nenhuma delas encontra coisas fornecidas por uma transclusão.
 * Nenhuma delas faz buscas de proveniência, difusas ou por aproximação.
 * Ambas desejam obter o mínimo de resultados, e ambas trabalharam rapidamente quando acompanhadas de outra cláusula.

Mas buscas indexadas ignoram todos os espaços cinzas; buscas com coringas não combinam espaços cinzas, então expressões regulares são a única forma de encontrar o exato conjunto de caracteres qualquer um e todos, por exemplo a sequência de dois espaços. Expressões regulares são uma classe inteiramente diferente de ferramentas de busca que tornam a combinação de um conjunto literal fácil (básico, uso por iniciantes), e faz com que combinações por expressões com metacaracteres sejam possíveis (uso avançado) na wiki. Veja abaixo.

Prefixo e espaço de nome
Para Pesquisa, um termo de espaço de nomes funciona para especificar o domínio inicial de busca. Ao invés de pesquisar na wiki inteira, o padrão é o espaço de nomes principal (espaço principal).

Apenas um espaço de nomes pode ser configurado através da caixa de consultas da busca. Ele é ou o primeiro termo ou o último termo, em um parâmetro prefixo.

Dois ou mais espaços de nomes podem ser buscados pela janela Avançada da barra de busca encontrada no topo de cada página de resultados de busca, Special:Search. Seu domínio de busca, como um perfil de espaços de nomes, pode ser configurado aqui (sem ir à página de preferências do usuário). A lista de espaços de nomes será então apresentada na primeira página de futuros resultados de busca para indicar o domínio de busca dos resultados. Para desconfigurar isso, selecione o espaço de nomes padrão (mostrado em parênteses), selecione "Lembrar", e pressione Pesquisar.

A barra de busca graficamente configura e indica um domínio de busca. "Conteúdo das páginas" (espaço principal), Multimídia (Arquivo), "Tudo" (tudo mais Arquivo), "Traduções", etc., são hiperlinks que podem ativar a consulta naquele domínio, e então indicar isso ao se tornar inativo (escuro). Mas a consulta irá sobrescrever a barra de busca. Quando um espaço de nomes ou prefixo é usado na consulta, as ativações da barra de busca e indicações podem ser equivocadas, então a barra de busca e a caixa de busca são maneiras mutualmente exclusivas (não complementares) para configurar o domínio de busca.

Um termo de espaço de nomes sobrescreve a barra de busca, e um termo prefixo sobrescreve um espaço de nomes.

Insira um nome de espaço de nomes, ou coloque, ou escreva dois pontos     para designar o espaço principal. Todos não inclui o espaço de nomes Arquivo. Arquivo inclui conteúdo de mídia sob o domínio Commons como PDF, que são todos indexados e pesquisáveis.

Quando Arquivo está envolvido, um modificador de espaço de nomes chamado  faz efeito; de outra forma, ele é ignorado.

Alcunhas de espaços de nomes são aceitos.

Como parâmetros de busca, local e all devem estar em letras minúsculas. Espaços de nomes não são sensíveis a letras maiúsculas e minúsculas.

O parâmetro prefix: combina qualquer número de caracteres primeiros de todos os nomes de páginas em um espaço de nomes. Quando as primeiras letras combinam um espaço de nomes e dois pontos, o domínio de busca muda.

Dado um espaço de nomes apenas, prefixo vai combinar todos os nomes de páginas. Dado um caracter apenas, não pode ser - traço ou ' aspas ou " aspas duplas. O último caracter não pode ser dois pontos.

Para nomes de páginas que combinam, seus títulos de subpáginas serão combinados por definição.

O parâmetro prefixo não permite um espaço antes de um espaço de nomes, mas autoriza um espaço em branco antes de um nome de página.

O parâmetro prefixo vai até o fim para os caracteres do nome da página que talvez contenham " aspas duplas.

A Extensão de tradução cria um tipo de "espaço de nome de idioma", de versões traduzidas de uma página. Mas ao contrário do espaço de nome ou prefixo, que criam um domínio de busca inicial, o parâmetro inlanguage é um filtro disso. (Veja a próxima seção)

Exclua conteúdo do índice de busca
Conteúdo pode ser excluído do índice de busca adicionando-se. Isso irá instruir o CirrusSearch a ignorar este conteúdo do índice de busca (veja para mais contexto)

Adicionalmente, conteúdo pode ser marcado como informação auxiliar adicionando-se. Isso irá instruir o CirrusSearch a mover o conteúdo do texto principal para um campo auxiliar que tem menos importância para busca e delineamento de fragmentos. Essa distinção é usada por ítens como descrições de imagens de thumbnail, seções, 'Veja também', etc.

Filtros
Um filtro pode ter múltiplas instâncias, e instâncias anuladas, e isso pode ser executado como um filtro independente para um domínio de busca. A consulta é formada como termos que filtram um domínio de busca.

Adicionar outra palavra, frase ou parâmetro filtra mais. Um resultado de busca altamente refinado por ter muitos filtros Y/N quando toda página nos resultados é abordada. (Neste caso, classificação é largamente irrelevante.) Filtragem se aplica criticamente à adição de um termo de expressão regular; você quer o mínimo de páginas possíveis antes de adicionar uma expressão regular (porque pode ser que não se tenha um índice preparado para sua busca).

A namespace is a specified search domain but not a filter because a namespace will not run standalone. A prefix will negate so it is a filter. Os parâmetros de pesquisa abaixo são filtros para os quais pode haver várias instâncias.

Insource (explicado acima) é também um filtro, mas insource:/regexp/ não é. Filtros e todos os outros parâmetros de busca são escritos em letras minúsculas. (Espaços de nomes são uma exceção, não sendo sensíveis a letras maiúsculas e minúsculas.)

Intitle e incategory
Buscas por palavras e frases combinam com um título e com a caixa de categoria na parte inferior da página. Mas com esses parâmetros você pode selecionar apenas título ou apenas cateogoria.
 * cow*
 * Find articles whose title or text contains words that start with cow
 * intitle:foo
 * Find articles whose title contains foo. Stemming is enabled for foo.
 * intitle:"fine line"
 * Find articles whose title contains fine line. Stemming is disabled.
 * intitle:foo bar
 * Find articles whose title contains foo and whose title or text contains bar.
 * -intitle:foo bar
 * Encontre artigos cujos títulos não contenham a palavra "bar", mas, quer seja no título ou texto incluso, possuam a palavra "foo".
 * incategory:Music
 * Encontra artigos que estejam na Categoria:Música
 * incategory:"music history"
 * Encontra artigos que estejam na Categoria:História da música‎
 * incategory:"musicals" incategory:"1920"
 * Find articles that are in both Category:Musicals and Category:1920
 * -incategory:"musicals" incategory:"1920"
 * Find articles that are not in Category:Musicals but are in Category:1920

Em título e em categoria são parâmetros de busca antigos. Em categoria não busca mais qualquer subcategoria automaticamente, mas você pode adicionar uma linha em seu JavaScript personalizado.

Since Regular expression searches are supported for intitle:
 * intitle:/regex/, intitle:/regex/i

Everything written in the #Regular expression searches is also valid for these searches, including warnings.

Deepcategory
Deep category search allows to search in category and all subcategories. The depth of the tree is limited by 5 levels currently (configurable) and the number of categories is limited by 256 (configurable). The deep search uses SPARQL Category service from WDQS. Keywords are deepcategory or deepcat. Example:


 * deepcat:"musicals"
 * Find articles that are in Category:Musicals or any of the subcategories.

The DeepCat gadget that previously implemented the parameter was sunsetted in January 2020.

Note that some deepcat searches return incomplete results. See bug for more details.

Linksto
Linksto encontra wikilinks para um dado nome, e não links para um conteúdo. A entrada é o nome da página canônico, sensível a letras maiúsculas e minúsculas.

Ele deve corresponder à linha de título do conteúdo da página, exatamente, antes de quaisquer modificações de título de letras maiúsculas e minúsculas. (Ele deve corresponder seu { {FULLPAGENAME}}, por exemplo .)

Linksto não encontra redirecionamentos. Ele só encontra [ [wikilinks]], ainda que eles sejam feitos por um template. Ele não encontra um link feito por uma URL, ainda que esta URL seja um link interno da wiki.

Para encontrar todos os wikilinks para um "Help:Cirrus Search", se "Help:Searching" e "H:S" são redirecionamentos para ele:
 * 1) linksto: "Help:Cirrus Search"
 * 2) linksto: Help:Searching
 * 3) linksto: H:S

encontra artigos que mencionam "CirrusSearch" mas não em um wikilink.

Hastemplate
Você pode especificar uso de templates com. Entre com o nome canônico da página para encontrar todos os usos do template, mas o uso de quaisquer de seus redirecionamentos encontrará somente a nomeação. Apelidos de espaços de nomes são aceitos, capitalização é inteiramente ignorada, e redirecionamentos são encontrados, tudo em uma busca de nome. (Compare boost-template sem espaço de nomes padrão; linksto sem apelidos de espaços de nomes, sensível a letras maiúsculas e minúsculas, sem redirecionamentos; intitle sem redirecionamentos.)

Hastemplate encontra usos secundários (ou meta-template) em uma página: ele busca pela inclusão pós-expansão. Essa é a mesma filosofia para palavras e frases de um template, mas aqui é para templates de um template. A página será listada como contendo um conteúdo ainda que este conteúdo não seja visto no wikitexto.


 * hastemplate: "quality image" encontra o uso de "Template:Quality image" em seu domínio de busca padrão (espaços de nomes).
 * hastemplate: portal:contents/tocnavbar encontra uso de espaço principal de um template "Contents/TOCnavbar" no espaço de nomes Portal.

Para instalações com a extensão Traduzir, buscas com hastemplate são interferidas aonde quer que Template:Translatable template name cobre o nome de template de um template traduzível. Use insource no lugar.

Inlanguage
Para instalações com a extensão Traduzir, inlanguage é importante para buscas altamente refinadas e contagens de páginas.


 * inlanguage: language code

irá produzir resultados de busca naquele idioma apenas.

Por exemplo:


 * para contar todas as páginas em japonês na wiki
 * all: inlanguage: ja


 * para deixar de fora páginas em alemão e espanhol no espaço de nomes Ajuda
 * help: -inlanguage: de -inlanguage: es


 * para ignorar Traduzir, e onde inglês é o idioma de base, adicione
 * inlanguage:en

Contentmodel
A palavra-chave contentmodel: autoriza a limitação da busca para páginas de um modelo de conteúdo específico. Para possíveis modelos confira Content handlers. E.g.:


 * Para ver apenas páginas JSON:
 * contentmodel:json

Subpáginasde
Para encontrar subpáginas.
 * subpageof: Páginaprincipal

Por exemplo


 * Para encontrar todas as subpáginas da CirrusSearch.
 * subpageof:CirrusSearch


 * Use aspas duplas se a página principal contiver espaços.


 * subpageof:"Requests for comment"

Articletopic
The articletopic: keyword allows filtering search results by topic. For possible topics see. E.g. articletopic:books will filter the search results to articles about books. articletopic:books|films will filter to articles about books or films. articletopic:books articletopic:films will filter to articles which are about both books and films.

Only mainspace articles belong into topics, and topics are only available on Wikipedias. Unlike other filters, articletopic also does page weighting: articles which are a stronger match for a topic will be higher in the search results (while articles which aren't about that subject at all will be removed from the result set completely).

Topic models are derived via machine learning from ORES. Any given article receives a score on dozens of different topics, and therefore may appear under different keywords. For instance, the article on Albert Einstein may appear as a "physics" article and a "biography" article. All Wikipedias have scores available -- some have local-language topic models that have coverage on all articles. Other languages do not have local ORES models, and are using English-language scores assigned to articles in the local language that also exist in English Wikipedia. The languages with such "cross-wiki" scores do not have 100% coverage -- depending on the language, it may only be something like 60% of articles that have topics available.

Topic-related search data is updated weekly, so recently created articles might not show up in topic-based search queries.

Pageid
The pageid: keyword restricts search results to the given set of page IDs. This is not really useful for manual searching; it can be used by software tools for checking whether a set of pages match the given set of search conditions (e.g. for re-validating cached search results).

Ponderação da página
Ponderação determina fragmentos, sugestões e relevância da página. O peso normal é um. Ponderação adicional é dada através de multiplicadores.

Se a consulta é apenas palavras, à páginas que correspondem a elas em ordem são dadas um reforço. Se você adicionar quaisquer frases ''explícitas' à sua busca, ou para outras certas adições, esta ferramenta de "frase preferida" não é aplicada.

Morelike

 * morelike:page name 1|page name 2|...|page name n
 * Encontra artigos cujo texto é mais similar ao texto dos artigos dados.
 * morelike:wasp|bee|ant
 * Encontra artigos sobre insetos que picam.
 * morelike:template:search|template:regex|template:usage
 * Encontra modelos sobre buscas com expressões regulares para usos de modelos na wiki.

morelike is a "greedy" keyword, meaning that it cannot be combined with other search queries. If you want to use other search queries, use morelikethis in your search:


 * morelikethis:bee hastemplate:"featured article"
 * Find articles about bees that also have the "featured article" template.

A consulta morelike: funciona através da escolha de um conjunto de palavras nos artigos de entrada e execução da consulta com as palavras escolhidas. Você pode sintonizar a maneira como funciona ao adicionar os seguintes parâmetros à URL dos resultados de busca:

Estas configurações podem ser feitas persistentes ao sobrescrever  em System message.
 * cirrusMltMinDocFreq : Número mínimo de documentos (por trecho) que precisam de um termo para que sejam considerados.
 * cirrusMltMaxDocFreq : Número máximo de documentos (por trecho) que possuem um termo para que sejam considerados.
 * cirrusMltMaxQueryTerms : Número máximo de termos a serem considerados.
 * cirrusMltMinTermFreq : Número mínimo d vezes em que o termo aparece na entrada para que o documento seja considerado. Para espaços pequenos ( title ), este valor deve ser 1.
 * cirrusMltMinWordLength : Comprimento mínimo do termo a ser considerado. O padrão é 0.
 * cirrusMltMaxWordLength : O comprimento máximo da palavra acima do qual palavras serão ignoradas. O padrão é ilimitado (0).
 * cirrusMltFields (lista de valores separados por vírgula): Estes são campos para uso. Campos autorizados são title, text , auxiliary_text , opening_text , headings e all.
 * cirrusMltUseFields ( | ): Use apenas o campo de dados. O padrão é : o sistema extrairá o conteúdo do campo   para construir uma consulta.
 * cirrusMltPercentTermsToMatch : A porcentagem dos termos para correspondência. O padrão é 0.3 (30 por cento).
 * Exemplo:

Prefer-recent
Adicionar prefer-recent: em qualquer lugar na consulta dá a artigos recentemente editados um reforço levemente maior do que o reforço normal nas regras de classificação de páginas. Prefer-recent is only applied when using the default  sort order.

Padroniza-se o reforço a apenas 60% dos pontos, em uma grande janela de tempo de 160 dias, que pode ser inserido na consulta como prefer-recent:0.6,160 .. Isso vai bem com outras regras de classificação de páginas, e é intencional para a maioria das pesquisas.

Você pode manipular as regras: prefer-recent:boost,recent Tecnicamente, "reforço" é a proporção dos pontos para escala, e "recente" é a meia vida em dias. O reforço é mais que o usual multiplicador, é um reforço exponencial. O fator usado no expoente é o tempo desde a última edição.

Por exemplo


 * prefer-recent:,7

Páginas mais velhas que 7 dias são reforçadas pela metade, e páginas mais velhas que 14 dias são reforçadas pela metade da metade, e assim por diante. Para um simples "organizar por data" em resultados de busca altamente refinados, onde classificação de página e reforço são largamente sem significado, apenas reforce a pontuação inteira.
 * prefer-recent:1,7 (weeks)
 * prefer-recent:1,1 (days)
 * prefer-recent:1,0.0007 (minutes)
 * prefer-recent:1,0.0001 (8.64 seconds)
 * prefer-recent:1,0.00001 (seconds)

Boost-templates
Você pode aumentar a pontuação das páginas baseando-se em que modelos elas contém. Isso pode ser feito diretamente na busca via  ou você pode configurar o padrão para todas as buscas via a nova mensagem. substitui os conteúdos de  se o o primeiro for especificado. A sintaxe é um tanto estranha mas foi escolhida por sua simplicidade. Like prefer-recent, boost-templates is only applied when using the default  sort order. Alguns exemplos:


 * File:boost-templates:"Template:Quality Image|200%" incategory:china
 * Encontra arquivos na categoria China ordenando por maior qualidade de imagem.


 * File:boost-templates:"Template:Quality Image|200% Template:Low Quality|50%" incategory:china
 * Encontra arquivos na categoria China colocando imagens de alta qualidade primeiro e imagens em baixa qualidade por último.


 * File:boost-templates:"Template:Quality Image|200% Template:Low Quality|50%" popcorn
 * Encontra arquivos sobre pipoca colocando imagens de alta qualidade primeiro e de baixa qualidade por último. Lembre-se que durante o uso da mensagem  isso pode ser reduzido para apenas.

Não tente adicionar pontos decimais às porcentagens. Eles não funcionam e a pontuação de busca é tal qual é difícil que seja significante.

Um alerta sobre : se você adicionar porcentagens muito grandes ou muito pequenas elas podem "contaminar" a pontuação do texto inteiro. Pense, por exemplo, se enwiki reforçasse artigos em destaque em milhão. Buscas para termos mencionados em artigos em destaque, então, achariam-nos antes de correspondências exatas de título dos termos. Correspondência de frases seria similarmente afetado então uma busca como  acharia um artigo em destaque com essas palavras espalhadas ao invés de um artigo sobre Brave New World.

Buscas com expressões regulares
Uma busca indexada básica encontra palavras feitas visíveis em uma página. Hifenação, pontuação, parênteses, barra diagonal e outros símbolos matemáticos e computacionais são meros limites para as palavras. Não é possível inclui-los em uma busca indexada. Mostly that search behavior is wanted by the user. However, sometimes one wants to have the ability for a more precise search.

To get around the syntactic deficiency of index-based searches regexp searches can be used. Elas retornam muito mais rápido quando você limita o domínio da busca por expressões regulares a resultados de uma ou mais buscas baseadas em indexação.

Uma busca por "conjuntos exatos" com expressões regulares é uma busca básica; ela irá simplesmente "citar" a expressão regular inteira, ou "barra-inverter" todos os caracteres que não são alfanuméricos no conjunto. Todas as buscas com expressões regulares também requerem que o usuário desenvolva um filtro simples para gerar o domínio de busca para o motor de busca de expressões regulares procurar:


 * insource:"debian.reproducible.net" insource:/debian\.reproducible\.net/
 * insource:"c:\program files (x86)" insource:/C\:\\Program Files \(x86\)/i
 * insource:" { {template}} " insource:/" { {template}}<"\/"tag>"/
 * insource:"[ [title|link label]]'s" insource:/"[ [title|link label]]'s"/
 * insource:/regexp/ prefix:{ {FULLPAGENAME}}

O último exemplo funciona de um link em uma página, mas { {FULLPAGENAME}} não funciona na caixa de pesquisa.

Por exemplo: Special:Search/insource:/regex/ prefix: encontra o termo regex nesta página.

Uma consulta com nenhum espaço de nomes ou prefixo especificado realiza a pesquisa em seu domínio padrão de busca (configurável em qualquer página de resultados d busca, i.e. em Special:Search). Alguns usuários mantém seus domínios de busca padrão em "todos os espaços de nomes", i.e. a wiki inteira. Em uma wiki maior, se este usuário faz uma busca vaga com expressões regulares, ela provavelmente falhará, resultando no esgotamento de tempo de HTML antes de completar a pesquisa.

Uma busca com expressões regulares na verdade esquadrinha cada página no domínio de busca caracter por caracter. De forma oposta, uma busca indexada na verdade consulta alguns registros de um banco de dados separadamente mantido do banco de dados da wiki, e provê resultados praticamente instantâneos. Então quando usar insource:// (uma expressão regular de qualquer tipo), considere criar termos de busca que limitem o domínio de busca da expressão regular o máximo possível. Há vários termos de busca que usam um índice e então instantaneamente provém um domínio de pesquisa mais refinado para a /expressão regular/. Para mais efetividade, use:


 * insource:"" com aspas duplas, duplicando a expressão regular exceto sem barras ou caracteres de escape, é idal.
 * intitle, incategory e linksto são filtros excelentes.
 * hastemplate: é um filtro muito bom.
 * "palavra1 palavra2 palavra3", com ou sem aspas duplas, é bom.
 * namespace: é praticamente inútil, mas pode habilitar uma busca lenta com expressões regulares para se completar.

Para testar uma consulta simples com expressões regulares você pode criar uma página com padrões de teste, e então usar o parâmetro prefixo com o nome completo da página. A correspondência será destacada. Ele revistará a página (no banco de dados) e suas subpáginas.

Termos de busca que não aumentam a eficiência de uma busca com expressões regulares são os operadores de pontuação de página: morelike, boost-template e prefer-recent.

Metacaracteres
Esta seção cobre como escapar metacaracteres usados em buscas com expressões regulares. Para saber mais sobre o significado real de metacaracteres, leia a explicação da sintaxe.

Por exemplo:


 * buscar um espaço de nomes, meça o número de páginas com um único termo que é um espaço de nomes. Isto irá listar o número de páginas naquele espaço de nomes.
 * tentar encontrar novamente o que você já viu, como "wiki-link" ou "(trans[in]clusion)", começando com um filtro de espaço de nomes e insource.

Refinando com um conjunto exato

 * refinar um processo de busca em andamento com o que você deseja ver, como "2 + 2 = 4", ou "site.org". Essa é, idealmente, o melhor uso de expressões regulares porque adiciona-se uma única expressão regular enquanto refina-se a busca, fazendo visível o número de páginas em que a expressão regular precisa atuar.

Você pode começar com pretensões de fazer uma busca com conjuntos exatos, mas tenha em mente:


 * expressões regulares buscam o wikitexto e não o texto renderizado, então há algumas diferenças com markup, e até mesmo o número de caracteres de espaço deve ser precisamente correspondente.
 * Você é obrigado a fornecer um filtro acompanhante.
 * Você deve aprender como escapar metacaracteres de expressões regulares.

Há duas formas de escapar metacaracteres. As duas são úteis em certas ocasiões, e às vezes concatenadas lado a lado quando provendo escape a um conjunto.


 * Escape um deles com uma barra inversa \char. O termo insource:/regexp/ usa barras para delimitar a expressão regular. Fornecer /reg/exp/ é ambíguo, então você precisa escrever /reg\/exp/.
 * Coloque um conjunto entre aspas duplas "string". Porque escapar um caracter não faz mal, você pode escapar qualquer caracteres dentro de quaisquer possíveis metacaracteres por aí. Escapar com aspas duplas é mais limpo.
 * Você não pode misturar os métodos, mas pode concatená-los.

Escapamento com aspas duplas usando insource://"regexp"/ é uma maneira fácil de buscar por vários tipos de conjuntos, mas você não pode escapar com uma barra inversa qualquer coisa dentro de um escapamento por aspas duplas.


 * ao invés de
 * é tão bom quanto
 * Mas  sempre.
 * E . Acha-se o   literalmente, que provavelmente não é o   que você queria.

Escapar por barra invertida usando insource:/regexp/ permite escapar os delimitadores " e /, mas requer levar em conta metacaracteres, e escapar quaisquer:


 * Para corresponder a um delimitador  use.
 * Para combinar um delimitador  use.
 * Os metaracteres escapados poderiam ser.
 * A expressão equivalente escapada com aspas duplas é.

O algoritmo mais simples para criar a expressão básica para encontrar conjuntos usando insorce:/"regexp"/ precisa não levar metacaracteres em conta exceto pelos caracteres " e /:
 * 1) Escreva  . (Os /" delimitadores "/ não são mostrados.)
 * 2) Substitua   por   (anteriormente aspas duplas: pare, concatene, reinicie as aspas).
 * 3) Substitua   por   (pare, concatene, inicie).
 * 4) Você recebe , mostrando a concatenação dos dois métodos.

A notação com colchete para criar sua própria classe de caracteres também escapa seus metacaracteres. Para mirar o colchete direito em seu padrão da classe de caracteres, ele deve estar escapado com uma barra invertida, ou ele será interpretado como o delimitador de fechamento da definição do padrão da classe de caracteres. A primeira posição de uma classe de caracteres também escapa o colchete direito. Dentro da delimitação dos colchetes de uma classe de caracteres, o travessão também tem um significado especial (intervalo) mas também pode ser incluído literalmente na classe da mesma forma que o colchete direito pode. Por exemplo, ambos padrões miram um caracteres que é ou um travessão ou um colchete direito ou um ponto:  e.

Para exemplos gerais usando metacaracteres:


 * insource:"2+2=4" insource:/"2+2=4"/ combina "2 + 2 = 4", com zero espaços entre caracteres.
 * insource:"2 + 2 = 4" insource:/2 ?\+ ?2 ?= ?4\./ combina com zero ou um espaço entre caracteres. O símbolo de igualdade = não é um metacaracter, mas o símbolo de adição + é.
 * insource:"[ [link|2\3?]]\" insource:/"[ [link|2\3?]]< "\/" tag>"/

Há algumas diferenças notáveis de metacaracteres de expressões regulares padrões:


 * O  ou   não são reservados para combinar uma nova linha. To search for a string that contains a newline, you can do a search like   which means not a curly brace, then two curly braces, then any two characters except a curly brace, space, or pipe, then a  tag. The "any character except" will include a newline in the search. Note thas this search was designed only to match to the following string:


 * O metacaracter ponto . vale por qualquer caracter incluindo nova linha, então *. combina entre linhas.
 * O símbolo de número # significa algo, e deve ser escapado.
 * O ^ e $ não são necessários. Como "grep" (global por linha, expressão regular, imprime cada linha), cada insource:// é um "global por documento, expressão regular, lista de resultados de busca por documento" por documento.
 * e  suportam um intervalo de múltiplos digitos como   faz, mas sem consideração ao número de posições de caracter, ou o intervalo em cada posição, então   funciona, e até mesmo.

Regex on titles
The insource keyword does only search the page source content. To run regex searches on the title strings intitle:/regex/ can be used.

Exemplo avançado
POr exemplo, usar metacaracteres para encontrar o uso de um template chamado Val tendo, dentro da chamada do template, um parâmetro sem nome contendo um número possivelmente sinalizado de três a quatro dígitos, possivelmente rodeado por caracteres de espaço, E na mesma página, dentro de um chamado do template Val, um argumento chamado argument  tendo quaisquer espaços permitidos ao seu redor, (poderia ser a mesma chamada do template, ou uma em separado):



Note que o sinal = em "fmt commas" não é necessário mas adicioná-lo não mudaria os resultados da busca. É rápido porque usa dois filtros para que cada página que a expressão regular analise tenha o maior potencial possível.

demarcada
Você pode limitar a busca a páginas identificadas como sendo próximas a algumas coordenadas geográficas especificadas. As coordenadas podem ou ser especificadas como um par, ou fornecendo um título de página de onde pegar as coordenadas. A distância para limitar a busca pode ser anexada se desejado. Exemplos:


 * neartitle:"San Francisco"
 * neartitle:"100km,San Francisco"
 * nearcoord:37.77666667,-122.39
 * nearcoord:42km,37.77666667,-122.39

reforçada
Você pode aumentar alternadamente a pontuação de páginas dentro de uma área geográfica especificada. A sintaxe é a mesma da busca demarcada, mas com boost- anexado à palavra-chave. Isso efetivamente sobra a pontuação de páginas dentro do intervalo de busca, possibilitando uma melhor chance de resultados de pesquisa próximos estarem próximos do topo. Exemplos:


 * boost-neartitle:"San Francisco"
 * boost-neartitle:"100km,San Francisco"
 * boost-nearcoord:37.77666667,-122.39
 * boost-nearcoord:42km,37.77666667,-122.39

Busca por propriedades de arquivos
Desde a versão 1.28 da MediaWiki, CirrusSearch suporta indexação e busca de propriedades de arquivos no espaço de nomes. Isso inclui:
 * tipo de mídia do arquivo
 * tipo MIME
 * tamanho
 * largura & algura
 * resolução
 * profundidade de bits para arquivos que o suportam

filetype
Procurar por tipos de arquivo permite recolher arquivos de acordo com suas classificações, como documentos de pacotes Office, vídeos, imagens raster, vetores, etc. Atualmente, existem os seguintes tipos:



Esta lista pode ser expandida no futuro. Veja também constantes  em.

A sintaxe da busca é: filetype:{type}. Exemplo:

filetype:video - procura por todos os vídeos

A busca por tipo de arquivo não é sensível a letras maiúsculas e minúsculas.

filemime
Combina tipos MIME de arquivos. A sintaxe é:

filemime:{MIMEtype} - procura por arquivos deste tipo MIME

O argumento pode ser colocado entre aspas duplas para especificar uma correspondência exata. Sem aspas, correspondências parciais a componentes do tipo MIME também serão aceitas.

Exemplos:


 * filemime:"image/png" - procura por arquivos com exatamente o tipo MIME
 * filemime:pdf - procura por todos os documentos PDF
 * -filemime:pdf - skip all PDF documents (notably on Commons)

A busca tipo MIME não é sensível a letras maiúsculas e minúsculas.

filesize
Busca por arquivos do tamanho fornecido, em kilobytes (um kilobyte significa 1024 bytes). A sintaxe é:


 * filesize:{number} or filesize:>{number} - arquivo do tamanho de ao menos o número fornecido
 * filesize:<{number} - arquivo do tamanho de não mais que o número fornecido
 * filesize:{number},{number} - arquivo de tamanho entre os números fornecidos

Exemplos:


 * filesize:>20 or filesize:20 - arquivos de 20KB ou maiores
 * filesize:<1024 - arquivos menores que 1MB
 * filesize:100,500 - arquivos de tamanho entre 100KB e 500KB

Medidas do arquivo
É possível buscar por medidas específicas de arquivos: largura, altura, resolução (que é definida como a raiz quadrada da altura × largura), e profundidade de bits. Nem todos os arquivos possuem essas propriedades. A sintaxe é:


 * {measure}:{number} - arquivo com medida que é igual ao número fornecido
 * {measure}:>{number} - arquivo com medida que é pelo menos o número fornecido
 * {measure}:<{number} - arquivo com medida que é menor que o número fornecido
 * {measure}:{number},{number} - arquivo com medida que está entre os números fornecidos

Onde  pode ser:

filew ou filewidth - largura do arquivo

fileh ou fileheight - altura do arquivo

fileres - resolução do arquivo (ver acima)

filebits - profundidade de bits do arquivo (file bit depth)

Exemplos:

filew:>800 fileh:>600 - arquivos que têm pelo menos 800x600 pixels em tamanho

filebits:16 - arquivos com profundidade de cor em 16-bit

fileheight:100,500 - arquivo entre 100 e 500 pixels de altura

Pesquisa Wikibase
define algumas palavras-chave de busca para facilitar a busca de certos itens do Wikibase. Atualmente isso é útil apenas em sites. See for details.

Resultados de busca entre wikis
There are two kinds of cross-wiki results that may be shown when searching on Wikipedia.

Cross-project search (also known as interwiki search, sister search, or sister projects search) shows additional results from other projects (Wiktionary, Wikisource, Wikiquote, etc.) shown to the side on the Wikipedia results page. Cross-project search is available on most Wikipedias with sister projects.

Cross-language search (see blog post) refers to additional results shown below the main results that are from a Wikipedia in a different language. Cross-language search uses a heavily modified and optimized version of a light-weight language detector called TextCat. Cross-language search is currently only available on a few Wikipedias (see TextCat link for details).

Explicit sort orders
In addition to the default relevance based sort CirrusSearch can provide results a few other explicit sort orders. Specifying a sorting order other than  will disable all search keywords that affect scoring, such as   or. The keywords will still be parsed, but they will have no effect.

Sorting options are currently available from the MediaWiki API by providing the  parameter.

Sorting options can be manually added to a search URL by adding, for example https://www.mediawiki.org/w/index.php?search=foo&sort=last_edit_desc.

Valid sort orders include:

Interface para opções avançadas


A extensão Busca Avançada adiciona uma interface aprimorada à página de pesquisa permitindo o uso de várias opções descritas acima de forma amigável. Veja aqui para o manual do usuário.

Ver também

 * Completion Suggester - the incremental search feature of CirrusSearch
 * Wikimedia Discovery/Search/Glossary - definitions, context, and links for terms related to search.
 * See Search/Old for more on the development and debut of of CirrusSearch.
 * See Help:Searching for MWSearch, used by the many wikis that don't have a search extension.

Links externos

 * From Lucene, documentação extremamente relevante.
 * (as of 2017-12-06)
 * Extension:CirrusSearch/Profiles – sets of tunable parameters that influence various aspect of the indexing
 * Wikimedia blog articles related to search