Ajuda:CirrusSearch
| Nota: Ao editar esta página, você concorda em publicar suas contribuições no âmbito da licença CC0. Veja as páginas de ajuda sob domínio público para mais informações. |
A maneira mais rápida de encontrar informações nos projetos da Wikimedia é buscando diretamente. Todas as páginas possuem uma caixa de pesquisa.
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 (em inglês) e alguém responderá para você.
Para informações sobre a extensão do MediaWiki, veja Extensão:CirrusSearch.
Para seu uso no Wikidata, veja Help:Extension:WikibaseCirrusSearch.
Como funciona
Insira palavras-chaves e frases e pressione ↵ Enter ou Return em seu teclado, ou clique no ícone de lupa, “Pesquisar”, ou “Ir”.
Se uma página tiver o mesmo título do que você inseriu, você será direcionado para essa página. Caso contrário, são examinadas todas as páginas na wiki, e é apresentada uma lista de artigos que corresponde aos seus termos pesquisados, ou uma mensagem lhe informando que nenhuma página possui todas as palavras-chave e frases.
Se você clicar no botão “Pesquisar” sem preencher nada, você será direcionado para Special:Search, que oferece opções adicionais de pesquisa (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. Marque os espaços nominais 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. A saber:
- Melhor compatibilidade para pesquisas em diferentes idiomas.
- Atualizações mais rápidas ao índice de pesquisa, ou seja, as mudanças nos artigos são refletidas muito mais rápido nos resultados da pesquisa.
- 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 páginas devem aparecer dentro de alguns minutos nos resultados da pesquisa, mas uma operação de até 30 minutos é considerada como normal. Mudanças em predefinições devem ter efeito nos artigos que as incluem dentro de alguns minutos, podendo levar até várias horas a depender do número de páginas que utilizam a predefinição. Uma edição nula ao artigo forçará a mudança, mas isso não deverá ser necessário se tudo estiver ocorrendo 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.
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.
- "Lead-in" text is the wikitext between the top of the page and the first heading.
- The "category" text indexes the listings at the bottom.
- Templates are indexed. If the transcluded words of a template change, then all the pages that transclude it are updated. (This can take a long time depending on a job queue.) If the subtemplates used by a template change, the index is updated.
- Document contents that are stored in the File/Media namespace are now indexed. Thousands of formats are recognized.
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 $tilde 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.
- Starting with the tilde character
~to disable navigation and suggestions in such a way that also preserves page ranking.
- Smart-matching characters by normalizing (or "folding") non-keyboard characters into keyboard characters.
- 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”.
- 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.
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 numberortxt-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 handwithin the textmeetings 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
camelcasetodo 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".
| Frase buscada | parserfunction | parserFunction | parser function | parser-function | parser:function | parSer:funcTion |
|---|---|---|---|---|---|---|
| parserfunction | ||||||
| "parser function" | ||||||
| parser_function | ||||||
| parserFunction | ||||||
| "parser:function" | ||||||
| "parser_function" | ||||||
| "parSer_funcTion" | ||||||
| parSer_FuncTion |
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
plan9ouplanet4589
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" | ||||
| "flowers algernon"~0 | ||||
| "flowers algernon"~1 | ||||
| "flowers algernon"~2 | ||||
| "flowers algernon"~11 | ||||
| "algernon flowers"~1 | ||||
| "algernon flowers"~2 | ||||
| "algernon flowers"~3 | ||||
| "algernon flowers"~4 | ||||
| "algernon flowers"~13 |
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 | Proveniência em ação. | ||||
| "flowers" | Busca de proximidade desabilita proveniência. | ||||
| "flowers"~ | Proximidade mais proveniência ao colocar um til. | ||||
| "flowers for algernon" | Busca de proximidade desabilita proveniência. | ||||
| "flowers for algernon"~ | Proximidade mais proveniência ao colocar um til. | ||||
| "flowers algernon"~1 | Busca de proximidade desabilita proveniência. | ||||
| "flowers algernon"~1~ | 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.
"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.
Given one character only, it cannot be - (dash), ' (quote), or " (double quote).
The last character cannot be a colon.
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 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.
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:
- linksto: "Help:Cirrus Search"
- linksto: Help:Searching
- 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"
To exclude subpages, add a title exclusion term containing a slash. Since slash is a metacharacter, you have to use the regex format and escape the slash:
- -intitle:/\//
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 that 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 that are a stronger match for a topic will be higher in the search results (while articles that aren't about that subject at all will be removed from the result set completely).
Topic models are derived via Aprendizado de Máquina. 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 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.
≥ 1.45 Gerrit change 1191677 |
This keyword allows to set a boost factor to influence the importance of the various topics you want to search for:
articletopic:books^2.0|fashion^0.2– to list articles about books or fashion but will give more importance to the ones about books.articletopic:books^100– to give a strong importance to this keyword in comparison to other ranking criteria (other keywords or words, number of incoming links or the popularity of the page...)
This boost factor must be a positive number.
Articlecountry
This keyword allows to filter and rank pages based on prediction made by the Article country model.
The values it supports are documented at Help:CirrusSearch/articlecountry:
articlecountry:and– filter pages that may be related to Andorraarticlecountry:bel|fra– filter pages that may be related to Belgium or France.
Similar to articletopic this keyword may accept a boost factor.
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).
creationdate / lasteditdate
You can filter search results by date using two filters:
lasteditdate:– for when pages were last editedcreationdate:– for when pages were first created (the date of their first revision).
This allows you to find recently updated content, pages that have not been updated in some time, or pages created within specific time periods. All date queries use the local timezone of the wiki you are searching, your personal timezone settings do not effect the results.
You can add comparison operators before any date to constrain your search:
| Operator | Meaning | Example | Description |
|---|---|---|---|
>
|
after | creationdate:>2024
|
Pages created after 2024 |
>=
|
on or after | lasteditdate:>=2024
|
Pages last edited in 2024 or later |
<
|
before | creationdate:<2025
|
Pages created before 2025 |
<=
|
on or before | lasteditdate:<=2020
|
Pages last edited in 2020 or earlier |
Without an operator, the search looks for exact matches within that time period.
The precision of your search depends on how the date is provided. When providing an absolute date it depends on how specific your date is:
| Precision | Example | Description |
|---|---|---|
| year | creationdate:2025
|
Pages created anywhere in 2025 |
| month | lasteditdate:2025-09
|
Pages last edited in September 2025 |
| day | creationdate:2025-09-01
|
Pages created on September 1, 2025 |
Alternatively you can provide a relative date using either now or today.
The precision of the search will be determined by the keyword used.
The keyword can be suffixed by a minus sign (-) followed by a number and a suffix.
The following suffixes are available for use:
| Keyword | Precision | Example | Description |
|---|---|---|---|
now
|
hour | lasteditdate:now
|
Pages last edited in the current hour |
now
|
hour | creationdate:now-1h
|
Pages created in the previous hour |
now
|
hour | lasteditdate:>=now-1d
|
Pages last edited in the 24 previous hours |
today
|
day | creationdate:today
|
Pages created today |
today
|
day | lasteditdate:today-1d
|
Pages last edited yesterday |
today
|
day | creationdate:>today-1y
|
Pages created anytime in the last year |
While there's no single "range" operator, you can create date ranges by combining two date filters in the same query.
| Example | Description |
|---|---|
creationdate:>=2010 creationdate:<2020
|
Pages created in the 10's (from January 1, 2010 to January 1, 2020). |
hasrecommendation
This keyword can be used to filter pages for which a machine learning model has made recommendation for (generally detecting improvements to make).
hasrecommendation:image– filter pages for which a model recommended to add an image.
The types of recommendations depend on the model and wikis for which this system has been enabled.
For instance on WMF wikis there are models that may flag:
- image – articles for which a page image could be added.
- image_section – articles for which an image can be added to a section.
- link – articles for which a link can be added
This keyword is generally used by other tools such as Growth/Personalized first day/Structured tasks.
If the recommendation is stored with its confidence score the keyword can be used to filter using a threshold and/or boost using a factor.
For instance if you want to filter pages where a recommendation of type tone has a confidence score above 0.5 you can use: hasrecommendation:tone>0.5.
Similarly if you want the hasrecommendation to influence the ranking of the search results you can use a boost factor: hasrecommendation:tone^1.0.
You can also combine these two with: hasrecommendation:tone^1.0>0.5.
- the confidence score threshold must be a decimal number between 0 and 1.
- the boost factor must be a positive number
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 – * $1: Número máximo de termos a serem considerados.
- cirrusMltMinTermFreq – * $1: 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 – * $1: Comprimento mínimo do termo a ser considerado. O padrão é 0.
- cirrusMltMaxWordLength – * $1: O comprimento máximo da palavra acima do qual palavras serão ignoradas. O padrão é ilimitado (0).
- cirrusMltFields (comma separated list of values) – * $1 (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) – * $1 ($true|$false): Use apenas o campo de dados. O padrão éfalse: o sistema extrairá o conteúdo do campotextpara construir uma consulta. - cirrusMltPercentTermsToMatch – * $1: 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-templatesisso pode ser reduzido para apenaspopcorn.
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
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. Punctuation and symbols--like periods, dashes, brackets, slashes, math and computing symbols, etc.--are merely boundaries for the words. They are generally not included in an indexed search. Mostly that search behavior is wanted by the user. However, sometimes one needs a more precise search. To get around the limits of index-based searches regex searches can be used. These specify a regular expression that the raw wikitext of the page being searched for has to match.
How regex searches work
On large wikis with millions of pages, running a regular expression on every single one (or every single one in a set of namespaces) would be impossible to implement efficiently.
In order to optimize regex searches, the search system attempts to extract three-character sequences of text that any string matching the regular expression must also contain.
These are known as trigrams.
For example, the regex foo(bar|baz)? can only match strings starting with "foo".
If any such trigrams are found, they are checked against a separate index of all pages' wikitext, and the regex is only run on pages containing the relevant trigrams. If at least one trigram is relatively rare, such as ||}, then the search will complete relatively fast – searching for that on this wiki completes in only a few seconds.
On the other hand, if trigrams cannot be extracted from a regex (possibly because the regex is too complicated to parse or doesn't require the wikitext to contain any specific 3-character strings), or the only trigrams that can be extracted are extremely common (like the), then the domain of pages to run the regex on will be extremely large. The search system has to scour these character-by-character, which is very slow and likely to time out (resulting in incomplete results).
Using the index first to filter results
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: In order of general effectiveness:
- 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.
For example, the following regexes in italic each match one specific string, with an index-based search limiting the domain of the regex in bold:
- insource:"debian.reproducible.net" insource:/debian\.reproducible\.net/
- insource:"http://www.mediawiki.org" insource:/http:\/\/www\.mediawiki\.org/
- insource:"c:\program files (x86)" insource:/C\:\\Program Files \(x86\)/i
- insource:"<tag>{{template}}</tag>" insource:/"<tag>{{template}}<"\/"tag>"/
- insource:"</references>" insource:/\<\/references>/
- insource:"[[title|link label]]'s" insource:/"[[title|link label]]'s"/
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.
Por exemplo: [[Special:Search/insource:/regex/ prefix:{{FULLPAGENAME}}]] encontra o termo regex nesta página.
O último exemplo funciona de um link em uma página, mas {{FULLPAGENAME}} não funciona na caixa de pesquisa.
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.
Regular expression syntax
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]
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 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.
When matching titles ^ and $ match the beginning and end of the title. Like "grep" (global per line, regular expression, print each line), each insource:// is a "global per document, regular expression, search-results-list each document" per document.
<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>.
Character classes
Regex search supports a minimal set of character classes.
While negated shorthands such as \W are not available the classes can be negated as part of a character class, as in [^\w].
| CirrusSearch | Description |
|---|---|
| \w | Matches any alphanumeric ascii character and the underscore. Equivalent to [A-Za-z0-9_] |
| \s | Matches the space character and a variety of unicode spaces. Equivalent to [\f\n\r\t\v\u0020\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff] |
| \d | Matches any ASCII digit. Equivalent to [0-9] |
Escape codes
Regex search also supports a few escape codes that make it possible to search for unprintable characters.
| CirrusSearch | Description |
|---|---|
\r |
carriage return (CR) |
\n |
line feed (LF) |
\t |
tab |
\uHHHH |
Can represent any unicode character. It must be provided exactly 4 hexadecimal characters representing the codepoint. Surrogate pairs are represented with two sequences in a row. Searching for half a surrogate pair will not return any results. |
Escaping metacharacters
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/.
The insource:/regex/ uses slashes to delimit the regex. Giving /reg/exp/ is ambiguous, so you must write /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 é tão bom quanto $literal2
- Mas $thisfails sempre.
- E $thisdepends. Acha-se o $vvv literalmente, que provavelmente não é o $slash que você queria.
/"literal back\slash"/is as good as/literal back\\slash/
- But
/"This \" fails"/always.
- And
/"This \/ depends"/. It finds the\/literally, which is not the/you probably wanted.
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 /:
- # Escreva
the/str"ing. (Os /" delimitadores "/ não são mostrados.) - # Substitua
"por"\""(anteriormente aspas duplas: pare, concatene, reinicie as aspas). - # Substitua
/por"\/"(pare, concatene, inicie). - # Você recebe
insource:/"the"\/"str"\""ing"/, 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:"<tag>[[link|2\3?]]\</tag>" insource:/"<tag>[[link|2\3?]]<"\/"tag>"/
- insource:"</references>" insource:/\<\/references>/
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.776,-122.39
- nearcoord:42km,37.776,-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.776,-122.39
- boost-nearcoord:42km,37.776,-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
- file media type
- MIME type
- size
- width & height
- resolution
- bit depth for files that support these
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:
UNKNOWNBITMAPDRAWINGAUDIOVIDEOMULTIMEDIAOFFICETEXTEXECUTABLEARCHIVE3D
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:
- $filew1 ou $filew2 - largura do arquivo
- $fileh1 ou $fileh2 - altura do arquivo
- fileres – $fres - resolução do arquivo (ver acima)
- filebits – $fbd - profundidade de bits do arquivo (file bit depth)
Exemplos:
- filew:>800 fileh:>600 – $fw800 - arquivos que têm pelo menos 800x600 pixels em tamanho
- filebits:16 – $fb16 - arquivos com profundidade de cor em 16-bit
- fileheight:100,500 – $fh100k - 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:
&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=user_random- Randomized, but stable per user. Each user will see a unique, seemingly random order of results, but that order will remain the same every time that specific user runs the same search.
&sort=none- Unsorted, arbitrarily ordered lists. Preferred for large result sets.
Interaction among search options
Some search options when used together may interfere with or modify their operation when used alone.
- Search options that impact relevance such as prefer-recent, boost-templates, and boost-neartitle have no effect when sort is not relevance. Keyword morelike may have marginal impact.
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 Search Platform/Search/Glossary – definitions, context, and links for terms related to search.
- See Help:Pesquisa for MWSearch, used by the many wikis that don't have a search extension.
Notas e referências
- ↑ 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.
- ↑ Palavras de parada são raramente solicitadas no CirrusSearch, exceto quando elas estão em certos tipos de frases, como explicado abaixo.
- ↑ Parâmetros do CirrusSearch não fazem uso de uma maneira consistente para lidar com estes termos de busca.
- ↑ O mesmo analisador usado para indexar o wikitexto é também usado para interpretar a consulta.
- ↑ 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.
- html2wt or wt2html
- log2ip or ip2log
There's test2wiki, wiki2xml, wiki2dict, apache2handler, apache2ctl, etc.
- ↑ 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.
- ↑ Uma busca com expressões regulares chafurdadas não consegue desabilitar Busca, mas pode desabilitar outra busca com expressões regulares.
- ↑ 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.
- ↑ Para a definição formal, leia a gramática Lucene para expressões regulares.
- ↑ Class RegExp, Lucene RegExp syntax
Links externos
- From Lucene, documentação extremamente relevante.
- Especificações completas nos testes da extensão em navegadores A partir de 2017
- Extension:CirrusSearch/Profiles – sets of tunable parameters that influence various aspect of the indexing
- Wikimedia blog articles related to search
- WMF Global Search