Ajuda:CirrusSearch

From mediawiki.org
This page is a translated version of the page Help:CirrusSearch and the translation is 73% complete.
Outdated translations are marked like this.
PD Nota: Ao editar esta página, você concorda em publicar a sua contribuição no âmbito da licença CC0. Veja as páginas de ajuda do domínio público para mais informações. PD

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 $search. On every page there is a pesquisa box.

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 Extensão:CirrusSearch .

Para seu uso na Wikidata, veja Help:Extension:WikibaseCirrusSearch .

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 Pesquisar 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 User. Verifique os espaços de nomes necessários para esta pesquisa.

Todas as palavras-chave mencionadas abaixo diferenciam maiúsculas de minúsculas.

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?

There are two primary search indexes to consider:

The first is full-text search, on Special:Search. This index is updated in near real time. 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. 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.

The second index to consider is the fuzzy auto-complete title search. This index is updated once a day and mirrors what was found in the full-text search index at the time the index was updated. Depending on timing a new page could take two days to be found in the fuzzy title autocomplete. If this is unacceptable for a particular use case, within user search options the title completion can be changed to classic prefix search which uses the full-text search index.

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.

The algorithm used to rank suggestions is described in more detail at Extension:CirrusSearch/CompletionSuggester#Ranking criteria.

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.[1] 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.[2] 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.[3]

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.[4]

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”.
Palavras iniciadas em - ou !, como -in-law e !Kung, corresponderão exatamente aos títulos das páginas ou a redirecionamentos, mas também retornaram todos os documentos que não contêm a palavra — o que geralmente pode retornar a maioria dos artigos da wiki. Para pesquisar por esses termos sem ser através de correspondências exatas para títulos e redirecionamentos, use o parâmetro insource descrito abaixo.
  • 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.
Dois caracteres coringa são o asterisco e o ponto de interrogação (com um caracter de escape), e ambos podem vir no meio ou no fim de uma palavra. O ponto de interrogação com um caracter de escape \? representa um caracter e o asterisco * representa qualquer número de caracteres. Porque muitos usuários, ao invés de escrever uma consulta, fazem uma pergunta, qualquer ponto de interrogação é ignorado a não ser que seja acompanhado de um caracter de escape \? propositalmente para assumir seu significado coringa.

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 greyspace, camelCase ou txt2number (texto para número):

  • dados words-joined_by_greyspace(characters) ou wordsJoinedByCamelCaseCharacters, serão buscadas words joined by ... characters, em suas formas vazias ou em caracteres cinzas.
  • txt2number will match txt 2 number or txt-2.number.
  • 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 invisible hand within the text meetings invisible hand shake.

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 "exact]phrase".
  • Uma frase_com_espaço_cinza inicia checagens provenientes e de palavras de parada.
  • Dado CamelCase ele irá adicionalmente combinar camelcase 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 insource apenas interpretam a usual "frase entre aspas".

Em terminologia de busca, suporte para "proveniência" significa que uma busca por "ir" também inclurá "irei" e "iria", mas não "foi".
Frase buscada parserfunction parserFunction parser function parser-function parser:function parSer:funcTion
parserfunction Yes Yes N N N N
"parser function" N N Yes Yes N N
parser_function N Yes Yes Yes N N
parserFunction Yes Yes Yes Yes N N
"parser:function" N N N N Yes Yes
"parser_function" N N Yes Yes N N
"parSer_funcTion" N N Yes Yes N N
parSer_FuncTion N N Yes Yes Yes Yes

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 in:this:word, CirrusSearch, quando em um contexto de "frase exata" (que inclui o contexto de parâmetro insource), não irá combinar in, this, word, mas sim combinar apenas in:this:word.

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.[5] 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 parserFunction e parser<stems> function<stems>.

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

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

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 exact phrase.
  • 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).
  • For a word word~2 is most fuzzy with an edit distance of 2 (default), and word~1 is least fuzzy, and word~0 is not fuzzy at all.
flowers algernon Flowers for Algernon flowers are for Algernon Flowers a1 2b 3c 4f 5j 6l 7j 8p q9 z10 for Algernon
"flowers algernon" Yes N N N
"flowers algernon"~0 Yes N N N
"flowers algernon"~1 Yes Yes N N
"flowers algernon"~2 Yes Yes Yes N
"flowers algernon"~11 Yes Yes Yes Yes
"algernon flowers"~1 N N N N
"algernon flowers"~2 Yes N N N
"algernon flowers"~3 Yes Yes N N
"algernon flowers"~4 Yes Yes Yes N
"algernon flowers"~13 Yes Yes Yes Yes

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.

flowers flower Flowers for Algernon flower for Algernon
flowers Yes Yes Yes Yes Proveniência em ação.
"flowers" Yes N Yes N Busca de proximidade desabilita proveniência.
"flowers"~ Yes Yes Yes Yes Proximidade mais proveniência ao colocar um til.
"flowers for algernon" N N Yes N Busca de proximidade desabilita proveniência.
"flowers for algernon"~ N N Yes Yes Proximidade mais proveniência ao colocar um til.
"flowers algernon"~1 N N Yes N Busca de proximidade desabilita proveniência.
"flowers algernon"~1~ N N Yes Yes Proximidade mais proveniência ao colocar um til.

Insource

1.24
Gerrit change 137733

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 |state={{{state|autocollapse}}}.

insource: word
insource: "word1 word2"
Caracteres de espaço cinza são ignorados, assim como são em buscas por palavras e frases exatas.
insource:/regexp/
insource:/regexp/i
Estas são expressões regulares. Elas não são eficientes, então nós podemos possibilitar o uso de apenas algumas no grupo de busca, mas elas são bastante poderosas. A versão com um i extra executa a expressão para não ser sensível a letras maiúsculas e minúsculas, e é ainda mais ineficiente.

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.[6] 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.[7] 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 #Pesquisas de expressão regular abaixo.

O parâmetro insource trata palavras com dois pontos incorporados como uma palavra só. Isso afeta consultas de buscas por templates, funções interpretadoras, URLs, wikilinks, tags HTML, e comentários.
Quando possível, por favor evite executar uma busca com expressões regulares simples. Veja como isso é sempre possível em #Pesquisas de expressão regular, abaixo.
Para procurar palavras que começam com - ou !, tal como -in-law ou !Kung, use uma insensibilidade a maiúsculas e minúsculas insource e consulta junto com uma pesquisa simples no "plain" na versão do termo (para evitar uma pesquisa regexp nua). Por exemplo, "in-law" insource:/-in-law/i ou "kung" insource:/!kung/i.

Prefixo e espaço de nome

Prepending a namespace term like file: to a search query limits results to a specific namespace , instead of searching the entire wiki. The default namespace is "Main".

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. It must be the first term in the query, or, if used as part of a prefix: term, must appear as the last term in the query.

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.

To specify a namespace name, prefix it with a colon, e.g., talk:. Use all: to search across all namespaces, or : (a single colon) to search just the main article namespace.

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 local: faz efeito; de outra forma, ele é ignorado.

As with search parameters, local: and all: must be lowercase. Namespaces names, though, are case insensitive.

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

talk: "Wind clock" Encontra páginas no espaço de nome Discussão cujo título ou texto contenha a frase "wind clock".
file: "Wind clock" Encontra páginas no espaço de nome File, cujo título, texto ou conteúdo de mídia contém a frase "wind clock".
file: local: "Wind clock" Filtra resultados da wiki Commons.
local: "Wind clock" Ignorado. Procura no espaço principal. Local é ignorado a não ser que File esteja envolvido.

prefix:

O parâmetro prefix: combina qualquer número de caracteres primeiros de todos os nomes de páginas em um espaço de nomes.[8] 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.

prefix:cow Encontra páginas no espaço principal cujo título começa com as três letras c o w.
domestic   prefix:cow Encontra páginas no espaço principal cujos títulos começam com as três letras c o w, e que contém a palavra "domestic".
domestic   prefix:cow/ Lista quaisquer subpáginas existentes de "Cow", mas apenas se elas contiverem a palavra "domestic". Esta é uma busca bastante comum e é frequentemente construída usando um parâmetro especial de URL chamado prefix=.
domestic   prefix:Talk:cow/ Lista quaisquer subpáginas de Talk:cow, mas apenas se elas contiverem a palavra "domestic".
1967   prefix:Pink Floyd/ Lista qualquer subpáginas de Pink Floyd, mas apenas se elas também contiverem a palavra "1967".

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 class="navigation-not-searchable". Isso irá instruir o CirrusSearch a ignorar este conteúdo do índice de busca (veja tarefa T162905 para mais contexto)

Adicionalmente, conteúdo pode ser marcado como informação auxiliar adicionando-se class="searchaux". 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.

1.31
Gerrit change 413896

Since MediaWiki 1.31-wmf.23 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.

When possible, please avoid running a bare regexp search. See how this is always possible at #Regular expression searches, below.

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.

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 Help:CirrusSearch/pt-br.)

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

CirrusSearch -linksto: Help:CirrusSearch encontra artigos que mencionam "CirrusSearch" mas não em um wikilink.

Hastemplate

Você pode especificar uso de templates com hastemplate: template. 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"
ao contrário do prefixo , não inclua o espaço para nome da página no valor da palavra-chave. Se você deseja limitar as subpáginas de um espaço de nome particular, use o filtro do espaço para nome.

Articletopic

The articletopic: keyword allows filtering search results by topic. For possible topics see Help:CirrusSearch/articletopic . 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:

  • 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 (true|false): Use apenas o campo de dados. O padrão é false: o sistema extrairá o conteúdo do campo text para construir uma consulta.
  • cirrusMltPercentTermsToMatch: A porcentagem dos termos para correspondência. O padrão é 0.3 (30 por cento).
  • Exemplo:
    &cirrusMtlUseFields=yes&cirrusMltFields=title&cirrusMltMinTermFreq=1&cirrusMltMinDocFreq=1&cirrusMltMinWordLength=2
    

Estas configurações podem ser feitas persistentes ao sobrescrever cirrussearch-morelikethis-settings em System message.

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 relevance 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 boost-templates:"" ou você pode configurar o padrão para todas as buscas via a nova mensagem MediaWiki:Cirrussearch-boost-templates. boost-templates substitui os conteúdos de cirrussearch-boost-templates se o o primeiro for especificado. A sintaxe é um tanto estranha mas foi escolhida por sua simplicidade. Similar to the prefer-recent feature, boost-templates is applied as part of the default relevance sort order. It has no effect on other search orders.

The syntax of the message is as follows:

  • Everything from a # character to the end of the line is considered a comment, and ignored.
  • Every non-blank line is interpreted as the exact name of a template that should receive boosting (including namespace prefix), followed by a pipe "|" character, followed by a number, followed by a "%" character.

Good examples:

 Template:Important|150%
 Template:Very_Very_Important|300%
 Template:Less_important|50%

Bad examples:

 Template:Foo|150.234234% # decimal points are not allowed.
 Foo|150% # technically valid, but acts on transclusions of Foo (main space article) instead of Template:Foo.

Alguns exemplos:

boost-templates:"Template:Quality_Image|200%" incategory:china
Encontra arquivos na categoria China ordenando por maior qualidade de imagem.
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.
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 cirrussearch-boost-templates isso pode ser reduzido para apenas popcorn.

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 cirrussearch-boost-templates: 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.

Correspondência de frases seria similarmente afetado então uma busca como brave new world acharia um artigo em destaque com essas palavras espalhadas ao invés de um artigo sobre Brave New World.

Buscas com expressões regulares

Atenção Atenção: Não execute uma busca simples com insource:/regexp/. Ela provavelmente expirará após 20 segundos de qualquer forma, enquanto bloqueia usuários responsáveis.

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:"<tag>{{template}}</tag>" insource:/"<tag>{{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:{{FULLPAGENAME}}]] 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 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.[9]

O uso de um conjunto exato requer uma expressão regular, mas este termo obriga a busca a se limitar. Adicione um termo de expressão regular, nunca faça uma busca simples com expressões regulares. Comece notando o número de páginas em buscas anteriores antes de digitar uma busca por conjuntos exatos. Consultas com um conjunto exato requer um domínio de busca filtrado.

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.

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

  • O \n ou \r\n 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 insource:/[^\}]\}\}[^\} \|]{2}\<noinclude/i which means not a curly brace, then two curly braces, then any two characters except a curly brace, space, or pipe, then a ‎<noinclude> 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:
}}

<noinclude>
  • 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.[10]
  • 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 [0-9] faz, mas sem consideração ao número de posições de caracter, ou o intervalo em cada posição, então <9-10> funciona, e até mesmo <1-111>.

Substitutions for some metacharacters

While character classes \n, \s, \S are not supported, in case of an acute need to use them in a regular expression, you may use these workarounds:

PCRE CirrusSearch Description
\n [^ -􏿿] A newline (also can find a tabulation character)
[^\n] [ -􏿿] Any character except for a newline (and tabulation; you can add it to character set to include it as well)
\s [^!-􏿿] A white space character: space, newline, or tabulation
\S [!-􏿿] Any character except for white space characters (not a space, not a newline, and not a tabulation)

In these ranges, " " (space) is used as the character immediately following control characters, "!" – the character immediately following it, and "􏿿" as the U+10FFFF character, which is the last character in Unicode. Thus, the range from " " to "􏿿" includes all characters except for control ones, of which articles may contain newlines and tabs, while the range from "!" to "􏿿" includes all characters except for control ones and the space.

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.

  • /"[[page/name|{{temp-late"/ ao invés de /\[\[page\/name\|\{\{temp\-late/
  • /"literal back\slash"/ é tão bom quanto /literal back\\slash/
  • Mas /"This \" fails"/ sempre.
  • E /"This \/ depends"/. 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 the/str"ing. (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 insource:/"the"\/"str"\""ing"/, mostrando a concatenação dos dois métodos.
Enquanto refinando uma expressão regular em uma página de resultados de busca, tenha em mente que o trecho "wikitexto" modificou o espaçamento. Expressões regulares são sensíveis a caracteres de espaço, então copiar de trechos é perigoso.

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:"<tag>[[link|2\3?]]\</tag>" insource:/"<tag>[[link|2\3?]]<"\/"tag>"/

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 fmt=commas tendo quaisquer espaços permitidos ao seu redor, (poderia ser a mesma chamada do template, ou uma em separado):

hastemplate:val insource:"fmt commas" insource:/\{\{ *[Vv]al *\|[^}]*fmt *= *commas/ insource:/\{\{ *[Vv]al *\|[^}]*[-+]?[0-9]{3,4} *[|}]/

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.

Busca geográfica

Searching based on the (primary) coordinates associated with pages. Depends on Extension:GeoData and {{#coordinates:}}

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 <lat>,<lon> 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

1.28
Gerrit change 311061

Desde a versão 1.28 da MediaWiki, CirrusSearch suporta indexação e busca de propriedades de arquivos no espaço de nomes File:. Isso inclui:

  • tipo de mídia do arquivo
  • tipo MIME
  • tamanho
  • largura & algura
  • resolução
  • profundidade de bits para arquivos que o suportam
Enquanto estes predicados são úteis apenas para arquivos, eles por si só não limitam a busca para o espaço de nomes File:. É recomendado a inclusão deste espaço de nomes em uma busca ou restringir a pesquisa para este espaço de nomes apenas usando essas expressões condicionais.

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:

  • UNKNOWN
  • BITMAP
  • DRAWING
  • AUDIO
  • VIDEO
  • MULTIMEDIA
  • OFFICE
  • TEXT
  • EXECUTABLE
  • ARCHIVE

Esta lista pode ser expandida no futuro. Veja também constantes MEDIATYPE_* em Defines.php.

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 image/png
  • 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 measure 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

A extensão Wikibase define algumas palavras-chave de busca para tornar mais fácil a busca por certos itens da Wikibase. Isso é útil em Wikidata e outros sites da Wikibase, inclusive para pesquisar imagens com dados estruturados em Wikimedia Commons . See Help:WikibaseCirrusSearch 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 using a few other explicit sort orders. Specifying a sorting order other than relevance will disable all search keywords that affect scoring, such as prefer-recent or boost-templates. The keywords will still be parsed, but they will have no effect.

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

Guidance:

Sorting options can be manually added to a search URL by adding &sort=order, for example:

Valid sort orders include:

URL supplement Description
&sort=incoming_links_asc Lowest to highest number of incoming links. This is approximately from least to most popular.
&sort=incoming_links_desc Highest to lowest number of incoming links. This is approximately from most to least popular.
&sort=last_edit_asc From least recently to most recently edited
&sort=last_edit_desc From most to least recently edited
&sort=create_timestamp_asc From least to most recently created
&sort=create_timestamp_desc From most to least recently created
&sort=just_match A simple relevance sort based only on text matching
&sort=relevance A relevance sort taking into account many features of the document
&sort=random Randomized
&sort=none Unsorted, arbitrarily ordered lists. Preferred for large result sets.

Interface para opções avançadas

Interface de pesquisa avançada

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

  • See Help:Pesquisa for MWSearch, used by the many wikis that don't have a search extension.

Links externos

Notas e referências

  1. Note que a tagline não é parte do conteúdo real. Para ver o conteúdo pesquisável de uma página, adicione ?action=cirrusdump à URL.
  2. Palavras de parada são raramente solicitadas no CirrusSearch, exceto quando elas estão em certos tipos de frases, como explicado abaixo.
  3. Parâmetros do CirrusSearch não fazem uso de uma maneira consistente para lidar com estes termos de busca.
  4. O mesmo analisador usado para indexar o wikitexto é também usado para interpretar a consulta.
  5. Por exemplo, termos comuns nesta wiki, MediaWiki.org, são, redundantemente, (procurados):
    • udp2log OU udp2log2
    • html2wt OU wt2html
    • log2ip OU ip2log
    Há test2wiki, wiki2xml, wiki2dict, apache2handler, apache2ctl, etc.
  6. Expressões regulares do CirrusSearch não abordam caracteres de fim de texto diretamente, mas um ponto . irá ser combinado com um caracter de fim de texto.
  7. Uma busca com expressões regulares chafurdadas não consegue desabilitar Busca, mas pode desabilitar outra busca com expressões regulares.
  8. O prefixo não combina com caracteres primeiros de nomescompletosdepáginas, então você não pode buscar dois espaços de nomes de uma vez só porque eles começam com as mesmas letras, como namespace e namespace talk em uma consulta.
  9. Para a definição formal, leia a gramática Lucene para expressões regulares.
  10. Class RegExp, Lucene RegExp syntax