Esta plantilla crea un enlace que se puede utilizar para almacenar una consulta en el cuadro de búsqueda de Wikipedia. Un enlace de búsqueda es útil para la búsqueda colaborativa en las páginas de discusión y en la mayoría de las demás páginas, pero no se debe utilizar en artículos. Si se utiliza en artículos , muestra la advertencia anterior.
{{Search link|first|second|third}}
El nombre de la plantilla es Enlace de búsqueda o sl para abreviar.
El segundo y tercer parámetro son opcionales y tienen valores predeterminados, por lo que la forma abreviada es .{{sl|query}}
Tanto un enlace de búsqueda como un cuadro de búsqueda llevan al mismo motor de búsqueda. La misma consulta produce el mismo resultado.
La búsqueda básica cubre artículos. Encuentra palabras y frases compuestas de letras y números muy rápidamente, pero una búsqueda básica también puede consultar todos los artículos que contengan una cadena que incluya signos de puntuación, matemáticas y otros símbolos, como los que aparecen en el contenido de la página o en el wikitexto de la misma.
Esta plantilla difiere del cuadro de búsqueda superficialmente cuando se busca un signo igual. En el cuadro de búsqueda solo se escribe =, pero aquí se debe utilizar la cadena de cinco letras {{=}}. [2]
En la búsqueda 5, observe la necesidad de usar comillas dobles alrededor del patrón de búsqueda: . Esto evita que los caracteres se interpreten como metacaracteres de expresiones regulares y garantiza que se interpreten de manera literal. En las búsquedas básicas, siempre se usan comillas para permitir búsquedas de cadenas exactas en el wikitexto. En las búsquedas avanzadas, no se usan comillas dobles para que los metacaracteres puedan actuar como operadores condicionales y de ramificación para crear patrones generalizados. insource:/"slash delimited regexp"/
La búsqueda 2 ejemplifica el filtro más fácil de aplicar para acompañar cualquier búsqueda de expresiones regulares. Simplemente toma la misma frase y la convierte en un término separado. Dada cualquier expresión regular , simplemente acompáñela con un . El término posterior siempre actuará como un filtro perfecto, que coincide con todos los alfanuméricos e ignora todos los no alfanuméricos, acelerando una búsqueda indexada para filtrar las páginas con las que la expresión regular no podría coincidir. En cuanto a otros filtros, un espacio de nombres es débil, pero cada término adicional aumenta el poder de la expresión regular .insource/"exact string search"/insource:"exact string search"
La siguiente sección cubre los argumentos del enlace de búsqueda con más profundidad.
Aquí están los parámetros de plantilla para el enlace de búsqueda.
Solo necesitas usar los parámetros 3 a 20 si quieres un perfil de dos o más espacios de nombres para un dominio de búsqueda. De lo contrario, puedes decir simplemente el nombre del espacio de nombres (o todos ) al comienzo de la consulta, o un parámetro de prefijo al final de la consulta.
Cuando la consulta pasa por esta plantilla, el dominio de búsqueda predeterminado es el espacio de artículos, al igual que para los usuarios básicos. El dominio de búsqueda predeterminado de un usuario, haya iniciado sesión o no, es el espacio de artículos a menos que el usuario establezca su preferencia . [3] Pero no importa quién use un enlace de búsqueda, los resultados siempre serán los mismos. "Cortar y pegar" nunca puede garantizar los mismos resultados para una búsqueda, pero un enlace de búsqueda sí puede porque el dominio de búsqueda es solo el espacio de artículos para todos, o el dominio de búsqueda es el conjunto de espacios de nombres que establece para todos.
Si conoce los números de su perfil de dominio de búsqueda, simplemente escríbalos en ns=ns0&ns1&ns118
. (Puede obtenerlos de la tabla de espacios de nombres a la derecha). De lo contrario, refine su consulta y busque el dominio en la página de resultados de búsqueda, cuya interfaz avanzada está diseñada para seleccionar y ajustar espacios de nombres sin conocer los números de los espacios de nombres. Una vez que eso produzca resultados satisfactorios, copie la cadena de espacios de nombres de la URL (en la barra de direcciones de su navegador) y péguela en |ns=
, y podrá obtener la consulta del cuadro de búsqueda de la página de resultados de búsqueda y pegarla como consulta, y ese es su enlace de búsqueda.
Si solo tiene un espacio de nombres en su enlace de búsqueda, y no es un espacio de artículo, puede especificarlo diciendo, por ejemplo, ns=ns10o |ns10"en la posición de parámetro 3 o superior:
{{sl|"search link" namespace||ns10}}
→ espacio de nombres "enlace de búsqueda"Para un espacio de nombres se prefiere el nombre explícito:
{{sl|Template:"search link" namespace}}
→ Plantilla: espacio de nombres "enlace de búsqueda"Se prefiere el nombre explícito si va a publicar o guardar su enlace de búsqueda. De esa manera, cuando se ejecuta más tarde, el dominio de búsqueda aparece explícitamente al principio del cuadro de búsqueda de la página de resultados de búsqueda para informar al usuario. De lo contrario, solo la URL y solo el marco de diálogo del perfil del espacio de nombres aparecen en la página de resultados de búsqueda para informar al usuario. Cuando se trata de dos o más espacios de nombres, estas cosas siempre suceden, porque la consulta solo acepta un espacio de nombres (solo como primer término). Pero all también es una consulta informativa, un pseudoespacio de nombres solo para búsqueda. Si ve una consulta que comienza con all:, la URL se cargará con todos los parámetros del espacio de nombres.
Puede utilizar "all" en {{Enlace de búsqueda}} para especificar todos los espacios de nombres:
{{sl|query|ns=all}}
{{sl|query|label|all}}
Pero de nuevo, es mucho más preferible decir
{{sl|all:"search link" namespace}}
→ todo: espacio de nombres "enlace de búsqueda"que es utilizar:
{{sl|"search link" namespace||all}}
→ espacio de nombres "enlace de búsqueda"Por las razones que se han expuesto anteriormente. Pero al especificar "todos", el tiempo de consulta es aproximadamente siete veces mayor porque hay muchas más páginas en la wiki que artículos. Si es posible realizar una búsqueda más específica, se ejecuta mucho más rápido que la búsqueda "todos".
Por ejemplo, si tiene una consulta para la cual sabe que el dominio de búsqueda es 10 y 11, y no desea ninguna etiqueta , entonces necesita un parámetro 3, pero no necesita ningún parámetro 2 , por lo que, según las reglas de parámetros de plantilla, el enlace de búsqueda se puede realizar de cuatro formas generales:
{{sl|query||ns10|ns11}}
Cuando el parámetro 1 no tiene nombre y el parámetro 2 no tiene nombre | | (definido como la "cadena vacía"), entonces el parámetro 3 puede definirse como no nombrado ns10y el parámetro 4 como no nombrado ns11
, y así sucesivamente. Nada tiene nombre porque todo está definido.{{sl|query|3=ns10|4=ns11}}
El parámetro 2 no está definido, pero eso está bien porque los parámetros 3 y superiores tienen nombre...{{sl|query|ns=ns10&ns11}}
o el parámetro posicional vacío | | no es necesario cuando |ns=
se define a sí mismo con nombre.{{sl|query=query|label=|ns=ns10&ns11}}
Todo está nombrado explícitamente.Por ejemplo, si selecciona los espacios de nombres "Wikipedia" y "Ayuda", y luego ejecuta una consulta, la URL mostrará ns4=1&ns12=1
. Cópiela y péguela en |ns=ns4=1&ns12=1
. (Nota: puede ignorar la parte "=1" de la URL).
Observe cómo la URL contiene ns0, ns1, ns2 y ns3, y cómo los obtuvo:
{{sl|systems operations|3=ns2|4=ns1|ns=ns3|20=ns0}}
→ operaciones de sistemas{{sl|query = systems operations|||ns2|ns1|ns3|ns0}}
→ operaciones de sistemas{{sl|systems operations|3=ns2&ns1&ns3&ns0}}
→ operaciones de sistemasSi necesita desarrollar un dominio de búsqueda muy específico, uno muy elaborado extraído de un conjunto de treinta espacios de nombres, entonces lo habrá desarrollado en la página de resultados de búsqueda utilizando el selector de dominio de búsqueda avanzada que se encuentra allí. Luego, simplemente corte y pegue la cadena completa de la URL de los espacios de nombres de dominio de búsqueda encontrados y péguela en un parámetro con nombre |ns=
.
Para escribir en los espacios de nombres 0, 2, 4, 5, 7 y 9, sin etiqueta, las dos formas más fáciles son:
{{sl|query||ns0|ns2|ns4|ns5|ns7|ns9}}
{{sl|query|ns=ns0&ns2&ns4&ns5&ns7&ns9}}
El orden es irrelevante.
Todo esto implica el uso de filtros . Cualquier vínculo de búsqueda con una búsqueda siempre debe proporcionar los términos de consulta adicionales que filtrarían (reducirían) el dominio de búsqueda tanto como sea posible. Esta plantilla tiene como valor predeterminado el espacio del artículo si no se proporciona ningún espacio de nombres, lo que es un filtro.insource:/slash delimited regex/
insource:/regex/
La necesidad de que aparezca un signo igual en un artículo no es sorprendente y es básica. Debe utilizar {{ = }} o |query=
o |1=
simplemente para obtener el signo igual en su consulta al motor de búsqueda, o {{ ! }} para obtener el carácter de barra vertical al motor de búsqueda. Tanto los caracteres de barra vertical como los signos igual son sensibles a las plantillas para todas las plantillas, por lo que siempre puede citarlos con llaves como esa dentro de las plantillas. Aunque el cuadro de búsqueda puede aceptar = y | directamente, es necesario citarlos en el enlace de búsqueda porque de lo contrario tienen el significado de sus parámetros.
Las expresiones regulares son sensibles a la puntuación, los corchetes, las matemáticas y otros caracteres simbólicos, conocidos colectivamente como " puntuación ", por lo que se deben citar, ya que de lo contrario tienen su significado de metacarácter de expresión regular . Los "metacaracteres" de CirrusSearch han reclamado la mayoría de los caracteres de puntuación como funciones en su expresión regular, pero no es necesario conocer todas las funciones de metacaracteres solo para buscarlas como objetivos literales. Simplemente puede citar todos los signos de puntuación para buscarlos como objetivos literales en el wikitexto. La forma de citar fácilmente cada carácter en una expresión regular completa es poner todo el término entre comillas:insource:/"regexp with literal characters"/
Para que un carácter de barra vertical pase por la plantilla y el motor de búsqueda para que aparezca como un carácter en el wikitexto, hay que citarlo dos veces, de ahí la necesidad frecuente de los seis caracteres en un enlace de búsqueda avanzada. El signo igual no es un metacarácter, por lo que no es necesario citarlo dos veces, como ocurre con el carácter de barra vertical. El carácter de barra vertical es un metacarácter que significa OR.\{{!}}
Para generar búsquedas de expresiones regulares avanzadas, consulte cómo hacerlo en {{ regex }} .
El motor de búsqueda puede
Una búsqueda coincide con lo que se ve en la pantalla y en una vista previa de impresión. El wikitexto "fuente" sin procesar se puede buscar empleando el insourceparámetro. Para estos dos tipos de búsquedas, una palabra es cualquier cadena de letras y números consecutivos que coincidan con una palabra o frase completa. Todos los demás caracteres del teclado, como signos de puntuación, corchetes y barras, símbolos matemáticos y otros, normalmente no se pueden buscar.
De forma predeterminada, la función de búsqueda también buscará las palabras clave y las buscará. Ordena automáticamente los resultados por frecuencia y ubicación, pero también puede mejorar la clasificación de la página por tiempo, uso de plantilla o incluso similitud con otras páginas.
Search es un motor de búsqueda que realiza una búsqueda de texto completo consultando una base de datos de índice . Ofrece una sintaxis y unos parámetros de búsqueda que superan las capacidades y el control de otros motores de búsqueda públicos que podrían buscar en Wikipedia.
Digamos que el cuadro de búsqueda tiene two words. La búsqueda comienza con dos búsquedas de índice y los dos resultados se combinan con un AND lógico. Pero antes de que se muestren como resultados de búsqueda, se les debe asignar a todos una puntuación final antes de que se puedan mostrar los veinte primeros (enumerados en la primera página), y se los debe formatear con fragmentos y resaltados. La clasificación de páginas se ocupa rápidamente de grandes cantidades de páginas, abordando las cosas estadísticamente y realizando varios barridos a través de los datos.
Estos atributos para una palabra le otorgan a esa página una puntuación más alta:
Puede haber otros mecanismos de puntuación. Los parámetros que puedes controlar son morelike, boost-template, y prefer-recent.
Ahora hay once parámetros para distintos enfoques de búsqueda en los numerosos espacios de nombres. Cuatro de los siete nuevos parámetros ahora ofrecen la posibilidad de apuntar a estas características de la página: hastemplatey linksto, insourcey insource:/regexp/. Los otros tres ahora ofrecen la posibilidad de apuntar a la clasificación de la página: morelikefunciona de manera independiente, prefer-recentse puede agregar un término a cualquier consulta y ahora también hay un boost-templateparámetro. Los otros cuatro, que se conservan solo en el nombre, de la versión anterior completamente reescrita de Search, son intitle, incategory, prefixy namespace .
Cualquier búsqueda contará con uno de estos enfoques
El concepto de dominio de búsqueda desempeña un papel importante en todo esto. Por defecto, es solo un espacio para artículos, pero en general, un dominio de búsqueda comienza como un conjunto de espacios de nombres y termina como todas las páginas del resultado de búsqueda.
Un término de una consulta establecerá el dominio de búsqueda para otro término en la misma consulta. El orden es optimizado por el motor de búsqueda. La consulta term1 term2transforma el dominio de búsqueda dos veces para obtener esos resultados de búsqueda. Por ejemplo, un espacio de nombres simple devuelve las páginas del espacio de nombres. La consulta se basa en gran medida en los dos primeros términos para reducir el tamaño del dominio de búsqueda. term1 term2 regexp
Todos los términos de una consulta son búsquedas indexadas a menos que sean una expresión regular. Los términos indexados se ejecutan palabra por palabra instantáneamente , y una expresión regular se ejecuta carácter por carácter lentamente . Incluso el uso más básico de una expresión regular, solo para encontrar una cadena exacta, siempre debe limitar el tamaño de su dominio de búsqueda al mínimo posible. Esto puede ser tan simple como agregar algunos términos (como se explica a continuación), porque cada término en una consulta tiende a reducir la cantidad de páginas. Nunca ejecute una expresión regular simple en la wiki, especialmente si su perfil de usuario está preestablecido en Everything . El motor de búsqueda limita la cantidad de búsquedas de expresiones regulares que se pueden ejecutar a la vez. Sin el filtro adecuado ejecutándose junto con una expresión regular, se ejecutará durante hasta veinte segundos y luego incurrirá en un tiempo de espera de HTML.
En la página de resultados de búsqueda, el dominio de búsqueda inicial en el que se ejecutó la consulta se indica de la siguiente manera, con un poder creciente para anular a los demás:
Por ejemplo, si el parámetro de espacio de nombres es all, el tamaño del dominio de búsqueda inicial será de 61.724.760 páginas en todos los espacios de nombres: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 100, 101, 118, 119, 710, 711, 828, 829 Un parámetro de prefijo especifica solo uno de esos espacios de nombres, en su totalidad o en parte. Si el dominio de búsqueda inicial es el predeterminado, Páginas de contenido , su tamaño es de 6.901.976 páginas en el espacio de nombres 0 (espacio de artículos).
Se puede configurar una búsqueda en un enlace para especializar y compartir búsquedas: . Dicha consulta siempre debe especificarse completamente especificando un dominio de búsqueda inicial para evitar discrepancias en el perfil del usuario. De esta manera, se obtienen los mismos resultados. Por ejemplo, si se necesita más de un espacio de nombres, utilice {{ search link }} . [6][[Special:Search/search]]
Otros enfoques útiles para las funciones del motor de búsqueda son:
Los caracteres de espacio gris son caracteres no alfanuméricos: ~!@#$%^&*()_+{}|[]\:";'<>?,./. Cualquier cadena de caracteres de espacio gris y/o caracteres de espacio en blanco es "espacio gris".
Los espacios grises se ignoran excepto cuando tienen significado como modificador en la sintaxis.
Los parámetros también aceptan palabras y frases, pero cada uno puede buscar en su propio índice e interpretar sus propios argumentos, como por ejemplo
Los delimitadores:
Colon : carácter:
Una búsqueda es una consulta con uno o más términos . La consulta no busca realmente en la base de datos de la página, sino que consulta una base de datos de índice de búsqueda preconstruida y constantemente mantenida. Al crear el índice de búsqueda de palabras en la wiki, o al ingresar una consulta, un límite de palabra es un espacio gris. Los caracteres de espacio gris pueden crear una frase de múltiples palabras. Debemos decir tabulación y nueva línea aunque no podamos poner esos caracteres en nuestra consulta; esto se debe al hecho importante de que el mismo análisis que se realiza en el wikitexto también se realiza en la consulta. Un límite de palabra son los caracteres de espacio en blanco (tabulador, espacio o nueva línea) o caracteres de espacio gris. Los caracteres de espacio gris y los caracteres de espacio en blanco se pliegan todos juntos como uno solo, al igual que los caracteres especiales como æ (ae) o á (a) se pliegan en los caracteres del teclado estándar.
Una frase expresa un ordenamiento de palabras, [7] y hay tres maneras de hacerla, dependiendo de cuán agresivamente quieras que la frase coincida.
Las frases entre comillas se denominan "frases exactas" porque son palabras exactas: no se utilizan búsquedas aproximadas ni comodines en una "frase exacta". Al igual que el resto de la búsqueda, una "frase exacta" tolera espacios en gris entre palabras. Joining_with_non-alphanumeric(characters) solo empleará la búsqueda por comillas en las palabras. CamelCaseNaming o letter222number realizan transiciones, coinciden con la frase en espacios en gris, con la búsqueda por comillas y, además, coinciden con la palabra misma. Los parámetros pueden requerir que las comillas incluyan espacios en blanco en su entrada.
La búsqueda en el wikitexto se realiza empleando el parámetro insource . El parámetro insource también ignora los caracteres de espacio en gris.
Por ejemplo, para encontrar la frase http://en.wikipedia.org/wiki/Template:Search_link/Search_engine
, utilice http://en.wikipedia.org/wiki/Template:Search_link/Search_engine, o utilice insource: "http en wikipedia org wiki search engine".
Cuando se busca una palabra, esa palabra se busca en un índice . Una búsqueda indexada concluye instantáneamente con todos los títulos de los resultados de búsqueda , sin necesidad de buscar en la propia wiki.
Cada palabra que se ve en el contenido de una página (el contenido de un título) ya está en un índice, desde donde apunta a todos los demás resultados preestablecidos . Una palabra se indexa en una lista de nombres de páginas, donde se ve en el texto o solo en el título.
Cada palabra indexada se ve como
Para transiciones de minúsculas a mayúsculas (o camelCase) y transiciones de letras a números:
Para los dígitos y las letras, estos coinciden de forma individual o en conjunto. En otras palabras, no necesita el espacio, pero también funciona para encontrar una "palabra" con mayúsculas y minúsculas o una palabra alfanumérica mixta. No necesita un espacio y los caracteres no alfanuméricos se tratan como ese espacio nulo.
A veces, podemos llamarlos caracteres "de palabra" o "alfanuméricos", en contraposición a los caracteres "no de palabra", que se ignoran excepto para funcionar como límite de palabra. Por lo general, un límite de palabra es simplemente un carácter de espacio.
Estas palabras no distinguen entre mayúsculas y minúsculas: az es equivalente a AZ, por lo que el cuadro de búsqueda navegará a un nombre de página independientemente de la capitalización (aunque los enlaces wiki y las URL deben coincidir en mayúsculas y minúsculas, excepto el carácter inicial).
Cada palabra tiene un alias para todas sus raíces, por lo que nube, nublando, nubes, nublado, nublado apuntarán todas a la misma entrada de índice.
En la búsqueda, los caracteres !@#$%^&*()_+-={}|[]\:;'<>,.?/se ignoran. Cualquier combinación de caracteres de espacio en blanco y estos caracteres que no son palabras se puede denominar espacio gris . Por lo tanto, el espacio gris son todos los caracteres que no son palabras, excepto el carácter de comillas dobles, que no se ignora.
El espacio gris es una cadena de uno o más caracteres, como corchetes, símbolos matemáticos, signos de puntuación y espacios. Ahora bien, una palabra indexada en una búsqueda se encontrará entre espacios grises , y los espacios grises son un AND implícito de dos palabras en una consulta de búsqueda, pero el AND no siempre está implícito: cuando existen dos frases una al lado de la otra, se requiere el AND.
Las excepciones a las "palabras" que se indexan son estas palabras fragmentadas :
El límite de palabras entre dichas porciones numéricas y porciones alfabéticas puede incluir espacios grises o no, pero una búsqueda de frase desactiva la división en porciones , porque es una "búsqueda de frase exacta", ya que las palabras de la frase coinciden solo con palabras alfanuméricas delimitadas por espacios grises.
Las palabras unidas únicamente por caracteres no alfanuméricos se tratan como una frase. Por lo tanto, palabra1_palabra2&palabra3 es lo mismo que "palabra1 palabra2 palabra 3". Sin embargo, también coincidirán con transiciones entre mayúsculas y minúsculas y letras-números. Una búsqueda de frase exacta no coincidirá con transiciones entre mayúsculas y minúsculas o letras-números. Por ejemplo, términos como wgCanonicalNamespace y !wgCanonicalSpecialPageName se pueden encontrar buscando canonical page name
.
Por ejemplo:
Los siguientes términos coinciden con un único término txt2regEx
en una página: txt, 2, regex, reg, ex, txt2, 2reg, 2regex. Ninguna de esas partes coincidiría en una búsqueda de frase; solo "txt2regex" coincidiría. [8]
Los siguientes coinciden con los dos términos 2 + 2
: 2o "2", 2 2o "2 2", "2 2"o "2", "2+2"o 2+2, "2-2"o, o 2-2, "2.2"o 2.2Cada término es una consulta y el espacio gris es un AND.
La lematización es una forma de hacer coincidir significados "ambiciosamente", para obtener los números, para una posible coincidencia semántica, de modo que run_shoetambién coincida con running shoes
. La lematización es un algoritmo ortográfico que depende solo vagamente de cualquier diccionario. [9] El algoritmo intenta encontrar la misma palabra , pero en todas sus terminaciones.
Una búsqueda aproximada coincidirá con una palabra diferente . Las palabras (pero no las frases) aceptan una coincidencia aproximada de cadenas o "búsqueda aproximada". ~Se añade un carácter de tilde para esta búsqueda de "suena como". La otra palabra no debe diferir en más de dos letras .
Pero puede diferir en una letra de estas maneras. Una búsqueda aproximada coincide exactamente con la palabra y con palabras similares.
Con los comodines se pueden especificar las letras que se pueden cambiar, incluidas las dos primeras, y se puede aumentar la cantidad de letras que se pueden cambiar. Los comodines tienen sus propias reglas:
Mientras se construyen y actualizan los índices de palabras, la lematización agrega automáticamente alias a la mayoría de las entradas. No se utiliza un diccionario real, sino que se ejecuta un algoritmo que aplica reglas genéricas de sintaxis inglesa para las terminaciones de las palabras. Los resultados son imperfectos. [10] Incluso las palabras mal escritas, las palabras que no son palabras y las palabras que contienen números se indexan y se le agrega lematización de esta manera. Al agregar diferentes formas de la misma palabra a la consulta de búsqueda indexada, la lematización es un método estándar que utilizan los motores de búsqueda para obtener agresivamente más resultados de búsqueda para luego ejecutar un montón de reglas de clasificación de páginas.
Por ejemplo, la derivación se traducirá en alias cloud , clouds , clouded y clouding . No se traducirá en alias de la palabra cloudy , pero sí en alias de las diversas formas de cloud a la palabra no cloudion , porque -ion es una terminación de palabra común.
La derivación se desactiva automáticamente para las búsquedas internas:
Para desactivar la búsqueda , coloque la palabra entre comillas; esta es una búsqueda de "frase exacta". [11]
Por ejemplo: gameFolks, game!folks, game:folks coincide con FolksSoul
Un "Exact phrase"o un wordcoincidirán en un título. Y al crear una frase "with tilde"~simplemente se activa la lematización (que es equivalente a formar una frase uniendo las palabras with_greyspace). Pero "exact phrase"~1coincide con el texto en ese orden y además permite que cualquier palabra adicional se coloque entre las dos palabras.
Por ejemplo
"hitch4 hiker2"Busca las dos "palabras" en ese orden (posiblemente separadas por signos de puntuación, corchetes u otros símbolos del teclado, como símbolos matemáticos) y, sin las comillas, las encuentra en el mismo artículo. En ambos casos, el artículo aparece en la lista cuando el espacio satisface el significado lógico AND.
hello_dollyHace lo mismo que "hello dolly"hace, pero la versión con comillas dobles ofrece un filtro de proximidad. Después de la comilla de cierre se añade una tilde ~ y un número que indica el número total de palabras permitidas entre todos los términos.
La proximidad hacia atrás también funciona, pero incluye las dos palabras finales entre cada segmento. La proximidad no puede hacer que la última palabra esté próxima a la primera. La proximidad puede ser un número grande, como 500 o 1000.
Digamos que una página tiene palabra1 palabra2 palabra3 en ese orden. [12]
Dos términos de búsqueda sin comillas son dos filtros y un montón de reglas de clasificación de páginas.
La lógica de la verdad es AND, OR y no .
El operador lógico OR aumenta los resultados, mientras que el operador lógico AND los disminuye. El operador lógico NOT es una buena forma de refinar una consulta eliminando cualquier tipo de término excepto el parámetro de prefijo .
Por while -refining -unwanted search resultsejemplo, credit card -"credit card" busca todos los artículos con "tarjeta" y "crédito".
El prefijo y el espacio de nombres son los únicos parámetros posicionales, y el espacio de nombres es un parámetro de búsqueda sin nombre. Uno u otro de ellos se utiliza en una consulta para anular el dominio de búsqueda inicial establecido por el perfil de usuario o por la barra de búsqueda. No se utilizan juntos: el prefijo anula el espacio de nombres.
El argumento del espacio de nombres debe estar al comienzo de una consulta y el prefix:parámetro debe estar al final de una consulta.
Namespace:es un parámetro de búsqueda sin nombre que va al principio de una consulta. [13] El espacio de nombres va seguido de dos puntos, seguido de cero o más caracteres de espacio en blanco. y coincide con un nombre de espacio de nombres . Los nombres de espacios de nombres y "all" funcionan como se espera, pero ver uno en el cuadro de búsqueda no garantiza que represente los resultados de la búsqueda, como se explica a continuación.
Además de los nombres de espacios de nombres habituales y sus alias
Las páginas con espacios de nombres superan en número a las páginas sin ellos en una proporción de 7 a 1 .
En la barra de búsqueda de la página de resultados de búsqueda
Estos se diferencian del espacio de nombres "all" en que, al coincidir con sus términos de búsqueda dentro de un PDF en una página de ayuda: archivo , ese elemento en la página de resultados de búsqueda dice "(coincide con el contenido del archivo)".
Por ejemplo, file:"885.7 seconds" coincide dentro de un pdf, pero all:"885.7 seconds" no.
prefix:namespace: string filtra un espacio de nombres a una o más páginas donde la cadena coincide con los caracteres iniciales del nombre de la página. [16] Por ejemplo, prefix:help:t busca nombres de páginas de Ayuda que comiencen con "T".
Prefix puede realizar la función de filtro de espacio de nombres y, además, puede aislar un solo artículo, algo que intitle no puede hacer. Prefix no puede aislar una sola página si tiene subpáginas.
Una alternativa a una consulta de prefijo es Special:PrefixIndex :
Comparando los parámetros de espacio de nombres y prefijo :
Los siguientes métodos establecen un dominio de búsqueda inicial por espacio de nombres:
Estos se encuentran en orden de precedencia. Un prefijo anula un espacio de nombres y éste a su vez anula la GUI. El argumento del parámetro prefijo es un nombre de página completo, que transmite un espacio de nombres .
Al alternar los dominios de búsqueda, con las diversas técnicas y debido a sus prioridades, vale la pena repetirlo: verifique la indicación de la barra de búsqueda; es muy sutil. [17]
El panel de selección de espacio de nombres avanzado de la barra de búsqueda no es tan sutil. Permanecerá mientras esté vigente la selección anterior "recordar selección para futuras búsquedas". Puede "recordar" el espacio del artículo y luego 1) presionar Contenido, 2) elegir otro dominio de búsqueda de la barra de búsqueda o 3) eliminar todas las instancias de &profile=advanced
de la URL.
Estos cinco parámetros de búsqueda filtran un espacio de nombres según una palabra o frase de entrada.
Estos nombres de parámetros deben estar en letras minúsculas.
Intitle busca una palabra o frase en el nombre de una página . Al igual que en una búsqueda de palabras o frases, se pueden aplicar búsquedas aproximadas y de derivación .
Para encontrar una coincidencia en un título de redireccionamiento o para aplicar una búsqueda de proximidad a un título, puede confiar en el software de clasificación de páginas para impulsar las coincidencias de título antes que las coincidencias de contenido. Por lo tanto, una búsqueda básica de palabras o frases, o una búsqueda de proximidad, es una alternativa a intitle .
Por ejemplo
Incategoría tiene el formato general
y selecciona de la sección de páginas de la categoría dada , aquellas páginas que también están en el dominio de búsqueda.
Debido a que muchas páginas fuera del espacio principal también están categorizadas, los recuentos a menudo no coincidirán con la categoría a menos que el dominio de búsqueda sea todo el wiki:
La entrada de varias categorías cuenta una página solo una vez. Las dos categorías siguientes tienen 209 páginas en el espacio del artículo, y se encuentran seis páginas en ambas categorías:
Por otra parte se trata de categorías dispares:
Debido a la naturaleza de la categorización de Wikipedia, estas categorías no comparten páginas:
Las categorías y la búsqueda son sinérgicas.
En los siguientes ejemplos, observe cómo la descripción de la página en el espacio de nombres de categoría muestra los tamaños de las categorías en lugar de los tamaños de las páginas.
HastemplateBusca páginas que transcluyen una plantilla dada. Busca el uso de la plantilla , no solo un patrón de nombre, porque encontrará todas las páginas donde el contenido de la plantilla se haya usado de alguna manera. Los resultados difieren ligeramente según el alias que proporciones.
Plantilla Has
Si no encuentra el nombre de la plantilla que buscó en el wikitexto de la página, puede significar que proporcionó el nombre de página canónico pero encontró un alias o que se llamó como una plantilla secundaria a través de una plantilla que se muestra en el wikitexto. Para encontrar solo llamadas visibles (principales), use insource.
Insource: term busca una palabra o frase en wikitexto.
A diferencia de una búsqueda normal, insource no encuentra elementos "obtenidos" por una transclusión .
Insource utiliza dos métodos para delimitar el wikitexto. Parecen similares, pero la forma de expresión regular utiliza el carácter de barra / para delimitar la expresión regular. [19]
Una expresión regular básica es una forma sencilla de encontrar un valor específico, /"exact strings"/como se muestra a continuación. Las comillas dobles son delimitadores de campo. Son caracteres de escape que entrecomillan todo el conjunto de caracteres entre ellos y mantienen su interpretación literal (evitan que se produzca cualquier interpretación de metacaracteres).
Una expresión regular avanzada utiliza los metacaracteres para programar patrones de cadenas generales. Encuentra todo, incluso fragmentos y partes de palabras, sin transmitir la noción de "palabras", sino solo la de una cadena de caracteres en una secuencia. Los metacaracteres se interpretan a menos que estén entrecomillados por una barra invertida, comillas dobles o corchetes. Consulte la sección sobre expresiones regulares. El ejemplo obvio es que debe entrecomillar cualquier barra en su patrón para que no se interprete como el delimitador de barra de cierre, utilizando \/en lugar de para /que coincida con una barra literal. Una expresión regular interpreta todos los metacaracteres. Probar un patrón de expresión regular de manera responsable requiere limitar el dominio de búsqueda.
Abusar de expresiones regulares no dañará el rendimiento de Wikipedia, pero limitará que la información de búsqueda de expresiones regulares fluya a otras partes.
Solo las expresiones regulares interpretan los caracteres de espacio gris. La fuente interna normal, como en todas partes, ignora los caracteres de espacio gris. Por lo tanto , insource:"M S"
coincide con m/s, como lo hacen insource:
"M-S"y insource:
"m=s". Pero insource:/M\/S/
coincidirá con él, y la versión filtrada también lo hará: insource:"M/S" insource:/M\/S/
. El insource:"word1 word2"filtro es el filtro más obvio para insource:/word1 word2/, donde las dos palabras del wikitexto solo están separadas por puntuación y espacio. Digamos que la cadena de destino es {{Val|9999|ul=m/s|fmt=commas}}:
insource:
"val 9999 ul m s fmt commas"→ partidohastemplate:
val insource:
"9999 ul"→ partidohastemplate:
val insource:
"999"→ no hay coincidenciahastemplate:
val insource:
"fmt commas"→ partidohastemplate:
val insource:
"ul m"→ partidohastemplate:
val insource:
"ul M S"→ partidohastemplate:
val insource:
fmt→ partidoInsource busca coincidencias de palabras de forma secuencial, pero la coincidencia puede ocurrir en cualquier parte de la página, no necesariamente dentro del {{template markup}}. Para esto existe {{ template usage }} y busca coincidencias con cualquier expresión regular dentro de la plantilla.
Para una precisión total, utilice /regex/. Por ejemplo, para encontrar cualquier URL dentro de , con , con posible
, no puede utilizar el más simple . Si adopta un enfoque cauteloso, antes de intentar la expresión regular completa, cree un dominio de búsqueda de menos de 10 000 páginas. Comience con dos filtros, prefijo y origen interno:<ref name=name>...</ref>
[external link brackets label]
ref name=name
insource:"ref http server com"
insource: "ref http" prefix:A
98.000 es demasiado para empezar . insource: "ref http" prefix:AA
1000 es bueno.insource:/\<ref[^>]\> *\[?https?:\/\/[^][<> "]+\]? */
cero para el prefijo: AA, uno para el prefijo: ABinsource:/\<ref[^>]\>
, y luego prueba el prefijo: AA, cero; prueba AB, uno.[^>]*
.insource: "ref http" insource:/\<ref[^>]*\> prefix:AB
. Hay3700 , y eso está bien.Tenemos el único filtro posible insource: ref prefix:AA
. Ese filtro produce un dominio de búsqueda de expresiones regulares de solo 2300. El filtro insource: ref prefix:Aproduce un dominio de búsqueda de264 000. Es posible ejecutar la expresión regular en esa cantidad de páginas y produce64 000 resultados.
Para encontrar una URL más específica, por ejemplo yahoo.brand.edgar.com, utilice insource: "http yahoo brand edgar com" (o copie y pegue la URL completa, barras, puntos y todo; no importa). Realice otra búsqueda con la versión https. Estas búsquedas son más flexibles que Special:LinkSearch . No se necesita ningún filtro, pero cada búsqueda siempre se beneficia de la información adicional: cualquier palabra, cualquier frase y la mayoría de los parámetros.
LinkstoInforma de enlaces wiki a un nombre de página.
Linksto informa de enlaces wiki a un nombre de página, incluso si el enlace wiki es
Linksto puede diferir de la herramienta " Qué enlaces aquí ", porque el dominio de búsqueda de " Qué enlaces aquí " es all . Los resultados de búsqueda de Linksto se encuentran en su dominio de búsqueda predeterminado. (También linkstoinforma el recuento, al igual que todas las búsquedas).
Además del wikitexto, busca dentro de una página contenido transcrito.
primero y luego escanee el contenido. [20] Por ejemplo
Se informará de una lista de 300 artículos que enlazan a ella, al igual que " Lo que enlaza aquí ". Pero en realidad, los autores de contenido solo enlazan a Mozart y la escatología 15 veces . El resto se debe a Mozart y la escatología en la plantilla: Wolfgang Amadeus Mozart en las páginas no deseadas. La plantilla es deseada, pero la referencia "enlaces a" probablemente no. [21]
El truco para evitar esto y encontrar todos los enlaces de autoría a un artículo es una búsqueda de expresiones regulares:
Esa búsqueda encontrará artículos solamente porque el : inicial limita el dominio de búsqueda inicial al espacio de artículos, sin importar cómo esté configurado su dominio de búsqueda predeterminado. Encontrará todos los enlaces mucho más rápido que una expresión regular simple, porque el primer insourcetérmino crea instantáneamente el dominio de búsqueda refinado que establece los límites adecuados para la búsqueda de expresiones regulares. Una expresión regular puede adaptarse a las variaciones encontradas en el wikitexto permitidas por los permisos de los wikilinks: 1) el metacarácter *permite "cero o más" caracteres de espacio antes y después del título, y 2) la [clase de carácter] al comienzo permite la capitalización relajada del primer carácter en cualquier nombre de página, y 3) la clase de carácter al final encuentra el enlace ya sea que esté etiquetado a través del carácter de barra vertical | o cerrado a través del corchete ] del wikilink.
Los enlaces a las inclusiones son manejados por hastemplate .
La puntuación general de una página determina su lugar en los resultados de búsqueda.
Un mejor partido aumentará la puntuación.
La "importancia" del wikiproyecto y las evaluaciones de calidad de los artículos pueden tenerse en cuenta. La búsqueda en una página, sus categorías, wikidata y ubicación geográfica pueden tenerse en cuenta.
Si sabe esto, es posible que pueda encontrar mejor, por ejemplo, un título que recuerda a medias. El uso de intitle puede distorsionar demasiado los resultados debido al orden de las palabras. Utilícelas en una búsqueda de palabras y confíe en la clasificación de la página. Las palabras del título aparecerán en la parte superior.
Para tener una idea de cómo podría funcionar CirrusSearch, consulte mw:Search/Old#Search_Weighting_Ideas.
Para ordenar los resultados de búsqueda por fecha, utilice prefer-recent . Para ordenar los resultados de búsqueda por uso de plantilla, utilice boost-template .
El morelikeparámetro de búsqueda enumera todos los artículos que se comparan en frecuencia de palabras y longitud de palabras con uno o más artículos determinados.
Morelike calcula una búsqueda de varias palabras.
Véalos resaltados en el fragmento.
Morelike busca los nombres de las páginas dadas en el índice de búsqueda, crea un agregado de frecuencia de palabras y un agregado de longitud de palabras a partir de todas las palabras, y calcula una búsqueda de varias palabras en función de esos datos y de las configuraciones variables internas. Es una búsqueda costosa.
Por ejemplo, digamos que buscas
Luego elige un nombre de esa lista y agrégalo.
Luego, agregue más nombres hasta que tenga cinco nombres de páginas de entrada. Luego, puede comenzar a ajustar ciegamente esta consulta morelike calculada automáticamente , diciendo lo siguiente: Haga que la consulta calculada
Luego, digamos que ajustas la cantidad de nombres de páginas de entrada que tienen una palabra a dos (de cinco). https://en.wikipedia.org/w/index.php?title=Special:Search&profile=default&search=morelike:ant%7Cbee%7Cwasp%7CEusociality%7Ctermite&fulltext=Search&cirrusMtlUseFields=yes&cirrusMltFields=opening_text&limit=1150
También puede encontrar artículos similares basándose únicamente en el título, o únicamente en los encabezados, o únicamente en la sección principal.
Los resultados de la búsqueda dependen de Mlt
variables internas ( , Más como esto), configurables a través de la URL, sobre qué palabras buscar:
Por ejemplo, así es como se ve la barra de direcciones (convertida en barra de búsqueda) para una búsqueda más similar a las secciones principales de dos artículos, en comparación con otras secciones principales: https://en.wikipedia.org/w/index.php?title=Special:Search&profile=default&search=morelike:William+H.+Stewart%7CLeroy+Edgar+Burney&fulltext=Search&cirrusMtlUseFields=yes&cirrusMltFields=opening_text Observe el final que contiene los dos parámetros de URL agregados que activaron una capacidad más similar .
Puede ordenar los resultados de búsqueda por fecha.
Va en cualquier parte de la consulta. El valor predeterminado es 160 días como "reciente" y aplica su fórmula de aumento del 60 % de la puntuación. La fórmula no es el multiplicador habitual, es un multiplicador exponencial, potencialmente mucho más potente. Esto le permite funcionar donde el valor predeterminado para "reciente", en lugar de ser 160 días, puede ser tan solo 9 segundos. Si su "reciente" significa 9 segundos, useprefer-recent:0.0001
Por ejemplo, si solo te interesan los relativamente pocos artículos que han cambiado en la última semana, utiliza 7 en su lugar. Esto funciona de la siguiente manera: todos los artículos con más de siete días de antigüedad solo reciben la mitad de la mejora, y todos los artículos con más de 14 días reciben la mitad de la mejora nuevamente, y así sucesivamente.
El aumento es mayor que el multiplicador habitual, es exponencial. El factor utilizado en el exponente es el tiempo transcurrido desde la última edición. Cuanto mayor sea el tiempo transcurrido desde la última edición, menor será el aumento. La fórmula es e −t , donde t es el intervalo en días o el intervalo de interés.
Agregar prefer-recent al inicio de una búsqueda. Esto dará a los artículos editados más recientemente un lugar destacado en los resultados de búsqueda. El formato general es
Este parámetro acepta dos argumentos separados por comas para permitir ajustar la configuración predeterminada. De forma predeterminada, esto escalará el 60 % de la puntuación de manera exponencial con el tiempo transcurrido desde la última edición, con una vida media de 160 días. Por lo tanto, el valor predeterminado es prefer-recent:0.6,160.
Esto se puede cambiar para aumentar el peso:
o disminuirlo:
La proporción de puntuación a escala debe ser un número entre 0 y 1 inclusive. La vida media en días debe ser mayor que 0, pero permite puntos decimales, por lo que funciona bastante bien para ordenar tiempos de edición cercanos si son muy pequeños.
Por ejemplo, prefer-recent:0.6,0.0001funciona con una vida media de 8,64 segundos.
Esta opción eventualmente estará activada de manera predeterminada para Wikinoticias.
Boost-templates : " " agrega peso a las páginas con la plantilla o plantillas dadas (plural). El uso de este parámetro de búsqueda anula la función normal de aumento de plantilla de la Búsqueda. No use este parámetro de búsqueda sin proporcionar el argumento de aumento de peso a menos que desee deshabilitar la función de ponderación de plantilla para la búsqueda.
El formato general es
Verá, normalmente el mensaje del sistema [22] titulado MediaWiki:cirrussearch-boost-templates aumenta la puntuación de los siguientes nombres de página completa: Plantilla:Artículo destacado|200% Plantilla:Imagen destacada|200% Plantilla:Sonido destacado|200% Plantilla:Lista destacada|175% Plantilla:Buen artículo|150% Plantilla:Categoría Sockpuppet|5% Plantilla:Categoría de mantenimiento|5% Plantilla:Categoría oculta|5% Plantilla:Categoría de seguimiento|5% Plantilla:Clase de categoría|5% Plantilla:Importancia de la categoría|5% Plantilla:CatTrack|5% Plantilla:Categoría de plantilla|5%. Estos son los nombres de plantilla reales y su aumento real. Estos se reemplazan durante el uso de las plantillas de aumento .
Por ejemplo, una búsqueda de "phenom" Y "lecture", con las plantillas Enlace de búsqueda y expresión regular que tienen la puntuación de ponderación de las páginas en las que se encuentran multiplicada por 1,5 y 2,25 respectivamente, ignorando todas las demás plantillas (deteniendo la adición de cualquier puntuación para cualquier otra plantilla):
Boost-templates se diferencia de hastemplate en
Si solo desea que los resultados de búsqueda incluyan únicamente páginas con determinadas plantillas, utilice hastemplate una o más veces para filtrar las páginas que no las tienen. De lo contrario, elija un multiplicador similar al mensaje del sistema que se muestra arriba. Multiplicar la puntuación de una página por 10 se hace con 1000% y probablemente enmascare todas las demás funciones de ponderación, como "cuando las palabras de búsqueda coinciden con el título", tendrá poco efecto en la presentación de los resultados de búsqueda y no se recomienda porque afecta el orden de toda la lista.
Tanto hastemplate como boost-templates pueden ir a cualquier parte de la consulta, cada uno con otros términos a cada lado. es un término en una consulta que puede ir a cualquier parte de la consulta, teniendo otros términos a cada lado.
Problemas relevantes en CirrusSearch :
cm2
m3m3
Soluciones alternativas
Solución de problemas
Todas las páginas de Wikipedia son escaneadas e indexadas por el propio motor de búsqueda de Wikipedia . El wiki entero se trata como un "texto completo" guardado en una base de datos separada (un "índice") creada exclusivamente para realizar búsquedas. Es como el índice de un libro, pero prácticamente cada palabra y cada número está indexado en cada página. [23]
Dado que cada palabra del índice de búsqueda predefinido ya apunta a las páginas que la contienen, una búsqueda de palabras clave suele corresponder a una búsqueda de un solo registro en el índice (esto también es válido para las frases, hasta cierto punto). Las "búsquedas de índice" prácticamente no requieren tiempo para ejecutarse. Son baratas y abundantes.
Existen índices separados que se mantienen actualizados para:
Cualquier texto incluido desde una plantilla se indexa como si realmente estuviera presente en su página de destino . (En otras palabras, de manera predeterminada, la búsqueda de palabras clave se realiza en el texto de la página de Wikipedia generada , no en la fuente de la página en sí. Sin embargo, puede cambiar esto utilizando para buscar en el marcado de la fuente en lugar de en la página generada).insource:keyword
La preparación y el mantenimiento de los índices de búsqueda se realizan en segundo plano en los servidores de Wikipedia, casi en tiempo real. En cuanto guardes la página, unos segundos después podrás buscar los cambios que acabas de realizar. En el caso de las plantillas que se transcluyen en muchas páginas, la propagación de esos cambios a todas las páginas del índice puede tardar un tiempo.
El índice se basa en caracteres alfanuméricos; no almacena información sobre caracteres no alfanuméricos. Si escribe algún signo de puntuación o corchetes en el cuadro de búsqueda al realizar una búsqueda indexada, esos caracteres se descartarán sin hacer ruido.
Una búsqueda indexada básica
En lugar de realizar una búsqueda indexada básica por palabras clave, puede realizar una búsqueda de expresiones regulares , que omite el índice. Una búsqueda de expresiones regulares escanea el texto de cada página de Wikipedia en tiempo real, carácter por carácter, para encontrar páginas que coincidan con una secuencia o patrón específico de caracteres. A diferencia de la búsqueda por palabras clave, la búsqueda de expresiones regulares distingue entre mayúsculas y minúsculas de forma predeterminada, no ignora la puntuación y opera directamente sobre el código fuente de la página (marcado de MediaWiki) en lugar de sobre el contenido representado de la página.
Para realizar una búsqueda de expresiones regulares, utilice el cuadro de búsqueda habitual con la sintaxis o . La expresión denota una expresión regular en la sintaxis de expresión regular de MediaWiki.insource:/regex/
intitle:/regex/
regex
Debido a que la búsqueda de expresiones regulares escanea cada página carácter por carácter, generalmente es mucho más lenta que una búsqueda de índice. Puede (y debe) agregar términos de búsqueda adicionales al usarla para reducir la cantidad de texto que se procesa. Por ejemplo:insource:/regex/
polish insource:/polish/
Busca páginas que coinciden con una búsqueda de palabras clave que no distingue entre mayúsculas y minúsculas para "polish" (incluidos "polished" o "polishing"); luego realiza una búsqueda de expresiones regulares que distingue entre mayúsculas y minúsculas dentro de esas páginas. Solo se devuelven las páginas que coinciden con ambos filtros.insource:polish insource:/polish/
es similar, pero comienza con una búsqueda que no distingue entre mayúsculas y minúsculas del marcado de origen en lugar de la página renderizada (por lo que encontrará usos como Poles
, y no encontrará transclusiones).intitle:
, incategory:
, y linksto:
son filtros excelentes. [ aclaración necesaria ]hastemplate:
es un buen filtro. [ aclaración necesaria ]Agregar un término de búsqueda basado en índices para reducir la cantidad de texto que se escanea es importante simplemente para que su propia búsqueda de expresiones regulares finalice en un tiempo razonable. Las búsquedas de expresiones regulares que demoran demasiado tiempo se "agotarán" y devolverán solo resultados parciales. El uso excesivo de búsquedas de expresiones regulares lentas puede causar una limitación temporal de la función para usted y/o para todos los usuarios de Wikipedia. (Sin embargo, no puede afectar el rendimiento del sitio Wikipedia en su conjunto simplemente abusando de la búsqueda de expresiones regulares). Recuerde que una sola búsqueda de expresiones regulares puede demorar varios segundos y que actualmente hay 48.173.254 usuarios registrados en Wikipedia. Use la búsqueda de expresiones regulares de manera responsable.
La sintaxis de expresiones regulares de MediaWiki funciona así:
insource:/C-3p0/
buscará páginas que contengan la cadena literal "C-3p0" (distingue entre mayúsculas y minúsculas).. + * ? | { [ ] ( ) " \ # @ < ~
. Cualquier metacarácter puede ser escapado si se le antepone una barra invertida \
. Anteponer cualquier otro carácter con una barra invertida es inofensivo. Por ejemplo, insource:/yes\.\no/
buscará páginas que contengan la cadena literal "sí.no" (distingue entre mayúsculas y minúsculas). Los expertos en expresiones regulares deben tener en cuenta que \n
no significa "nueva línea", \d
no significa "dígito", etc.: En la sintaxis de MediaWiki, el único uso de \
es para escapar metacaracteres./
es especial porque indica el final de la expresión regular. Por ejemplo, insource:/yes/no/
se trata igual que insource:/yes/ no
(porque la búsqueda de palabras clave no/
ignora la puntuación). El /
carácter debe estar separado por una barra invertida en todos los lugares donde aparezca dentro de una expresión regular, incluso dentro de corchetes o comillas..
coincide con cualquier carácter individual. Por ejemplo, insource:/yes.no/
coincide con yes/no
, yes no
, yesuno
, etc.( )
agrupar una secuencia de caracteres en una unidad atómica.|
va entre dos secuencias y coincide con cualquiera de ellas. Por ejemplo, insource:/a(g|ch)e/
coincide con age
o ache
.+
coincide con el carácter o grupo anterior una o más veces. Por ejemplo, insource:/ab+(cd)+/
coincide con abcd
, abbbcd
, abbcdcd
, etc. insource:/a(g|ch)+e/
coincide con agge
, achgchchggche
, etc.*
coincide con el carácter o grupo anterior cualquier cantidad de veces (incluso cero). Por ejemplo, insource:/ab*(cd)*/
coincide con a
, abbb
, acdcd
, etc.?
coincide con el carácter o grupo anterior exactamente cero o una vez.{ }
coincide con el carácter o grupo anterior una cantidad fija de veces. Por ejemplo, insource:/[a-z]{2}/
coincide exactamente con 2 letras minúsculas seguidas. insource:/[a-z]{2,4}/
coincide con cualquier cadena de 2, 3 o 4 letras minúsculas. insource:/[a-z]{2,}/
coincide con cualquier cadena de 2 o más letras minúsculas.[ ]
Introducir una clase de caracteres que coincida con una única instancia de cualquiera de los caracteres de la clase. Por ejemplo, insource:/[Pp]olish/
coincide con Polish
y polish
. Los caracteres dentro de corchetes generalmente no tienen que ser escapados, aunque escaparlos sigue siendo inofensivo y /
aún necesita ser escapado en todas partes. Por ejemplo, insource:/[.\/\]\n]/
coincide con una única instancia de .
, /
, ]
o n
.^
(si aparece primero) representa la negación, y el carácter -
(a menos que aparezca primero o último) representa un rango. Por ejemplo, insource:/[A-Za-z0-9_]/
coincide con cualquier carácter alfanumérico o guión bajo, y insource:/[^A-Za-z]/
coincide con cualquier carácter no alfabético.< >
representan números tratados como números, no como caracteres. Por ejemplo, insource:/AD <476-1453>/
coincide con AD 476
, AD 477
, ... AD 1452
, AD 1453
, pero no con AD 1474
. (Pero también coincidirá con los primeros seis caracteres de AD 4760
.)~
"Mira hacia adelante" y niega el siguiente carácter o grupo. Por ejemplo, insource:/crab~(cake)c/
debe coincidir con los primeros cinco caracteres de crabclaw
pero no con los primeros cinco caracteres de crabcake
. [ aclaración necesaria ]Hay algunas peculiaridades adicionales en la sintaxis:
@
es un sinónimo de .*
(coincidir con cualquier secuencia de caracteres).insource:/0/
falla, aunque insource:/1/
ambos insource:/\0/
tienen éxito." "
son un mecanismo de escape, como los corchetes o la barra invertida. Por ejemplo, insource:/".*"/
significa lo mismo que insource:/\.\*/
.#
también es un metacarácter y debe escaparse. [ aclaración necesaria ]\n
no significa "nueva línea", \d
no significa "dígito", etc.^
no significa "principio del texto" ni $
"final del texto". La búsqueda desde el principio o el final de una página de Wikipedia no suele ser útil.Aunque las clases de caracteres \n
, \s
, \S
no son compatibles, puedes utilizar estas soluciones alternativas:
^ Para excluir también el carácter de tabulación, cópielo y agréguelo al conjunto de caracteres.
En estos rangos, " " (espacio) es el carácter que sigue inmediatamente a los caracteres de control , "!" es el carácter que sigue inmediatamente al espacio y "" es U+10FFFF, el último carácter en Unicode . Por lo tanto, el rango de " " a "" incluye todos los caracteres excepto los caracteres de control (de los cuales los artículos pueden contener nuevas líneas y tabulaciones), mientras que el rango de "!" a "" incluye todos los caracteres excepto los caracteres de control y el espacio.
|1=
para pasar un signo igual a cualquier parámetro, incluso la etiqueta del enlace.# < > [ ] | { }
.Las expresiones regulares son pequeños programas informáticos, por lo que es característico de las búsquedas de expresiones regulares que se deben escribir mientras se estudian los datos de destino y se prueban para lograr su precisión y minuciosidad potenciales. Sin embargo, solo unas pocas de estas búsquedas intensivas son técnicamente capaces de ejecutarse a la vez en la base de datos. [1] Un sandbox minimiza su huella y garantiza que nunca ejecutará una expresión regular no probada en cada espacio de nombres en la wiki, incluso si su búsqueda predeterminada le permitiera hacerlo.
Aunque una búsqueda normal que apunte a toda la wiki se ejecutará rápidamente, una búsqueda de expresiones regulares debe apuntar a la menor cantidad posible de páginas mediante el uso de filtros para que se ejecute rápidamente. Un filtro es parte o la totalidad de una consulta de base de datos . Los filtros incluyen:
El orden no es importante porque la búsqueda se optimiza mediante el software antes de ejecutarse.
Para apuntar sólo a una página mientras experimentas o desarrollas una búsqueda de expresiones regulares, apunta a un nombre de página completo. Desde el cuadro de búsqueda, usa el filtro . Desde el cuadro de edición (de cualquier sección de la página con los datos de destino), siempre puedes escribir y se "expandirá" para ti al nombre de página completo. Aunque puedes editar una página de historial, técnicamente una "página de historial" no es una página (en la base de datos), y por lo tanto {{FULLPAGENAME}} apuntará a la versión de la base de datos (no a su propia representación). Por la misma razón, no puedes buscar el wikitexto en una página que no esté ya guardada (en la base de datos), aunque ciertamente puedes cambiar los parámetros de búsqueda una y otra vez sin necesidad de guardarlos .prefix:fullpagenameprefix:{{FULLPAGENAME}}
El nombre de página completo es namespace:pagename . Si sabe esto, puede ajustar el parámetro Prefix. Aunque el prefix puede filtrar hasta una página, puede filtrar hasta un espacio de nombres y también acepta las primeras letras de un conjunto de nombres de páginas si desea reducir el dominio de búsqueda del espacio de nombres.
El sandbox de expresiones regulares utiliza un sandbox ad hoc creado editando cualquier página que contenga los datos de destino y utilizándolo como "sandbox" (sin editarlo para guardarlo). Luego se desarrolla agregando un enlace de búsqueda que incluye insource:/ regexp /, con el prefijo de filtro:{{FULLPAGENAME}} al lado.
El uso de un sandbox permite el uso del menor espacio posible mediante el uso de filtros para limitar el dominio de búsqueda. Una vez que se haya perfeccionado el patrón de expresiones regulares, se aumenta el dominio de búsqueda. Una búsqueda de expresiones regulares se ejecuta mejor con filtros, no solos, incluso si se trata de una expresión regular pulida.
En lugar de utilizar el cuadro de búsqueda, donde introducir un signo igual y un carácter de barra vertical y "entrecomillar frases" es una tarea sencilla, sigue siendo más fácil utilizar una plantilla de enlace de búsqueda basada en expresiones regulares ( {{ regex }} o {{ tlusage }}) en la página con datos de muestra, porque así puede centrarse en los datos de destino y en escribir el patrón de expresiones regulares. Es más fácil, es decir, si ya comprende cómo las plantillas "escapen" del carácter de barra vertical y del signo igual. Consulte Ayuda:Plantilla#Parámetros para obtener otros detalles importantes.
El procedimiento que se sigue es un ciclo iterativo de lectura-evaluación-modificación. El desarrollo de expresiones regulares requiere que estudies los datos de destino mientras escribes y reescribes su patrón.
Caveat emptor : si cambia el objetivo para una nueva prueba inmediata , tendrá que guardar y purgar , pero no si solo cambia la expresión regular.
Como un sandbox ad hoc , puede mostrar el wikitexto de una sección como esta (ya guardada en la base de datos), modificar algunos de los patrones en las llamadas de plantilla regex-search-link en esta página, hacer una Vista previa y ver qué coincide cuando hace clic en el regex search-link recién formado, todo de forma bastante segura y sin cambiar nada en la base de datos.
La plantilla llama a producir "1 pie/s ,2 pies cuadrados ,3 m/s ,4 m*s-2 ,5 pies s-2 ,6 °C/J , y7 J/C " aparece en el wikitexto de esta sección así:
Tenga en cuenta cómo están numerados los objetivos anteriores y luego haga clic en los enlaces que aparecen a continuación.
En la pregunta 2 , observe cómo el software MediaWiki ignora los espacios alrededor de los parámetros, pero cómo en la pregunta 4 el mismo software MediaWiki procesa los espacios dentro de los parámetros. La pregunta 2 podría haberse resuelto con una insource:val fmtbúsqueda simple porque "fmt" y "val" son palabras completas, y fmt rara vez se ve fuera de Val. ¿Qué tal hastemplate:val insource:fmt?
Un enlace de búsqueda almacena una consulta en un enlace que lo lleva a los resultados de búsqueda activos correspondientes a esa búsqueda almacenada. Se encuentran en las páginas de usuario y en las páginas de discusión. Utilice uno para aprovechar el conjunto completo de funciones de MediaWiki Search, o las funciones de los motores de búsqueda externos, para los usuarios que no están familiarizados con sus parámetros de búsqueda.
Un tipo de enlace de búsqueda es un wikilink con todas las capacidades de Búsqueda (cuadro de búsqueda) y con la sintaxis estándar de wikilink: . Por lo tanto, este enlace de búsqueda (1) navegará a: [[Special:search/Wales]] → Special:search/Wales o (2) buscará: → search/~Wales si antepone el carácter tilde ~. [[Special:Search/query| label]] [[Special:search/~Wales | search/~Wales]]
Todos los demás enlaces de búsqueda se crean a partir de una plantilla que creará una URL en lugar de un wikilink. Una URL puede, por ejemplo, llamar a motores de búsqueda externos para que realicen búsquedas en Wikipedia.
Los cuadros de búsqueda se crean mediante <inputbox>
etiquetas. Véase mw:Extension:InputBox.
Para búsquedas con coincidencias exactas, exactas en mayúsculas y minúsculas o en signos de puntuación, consulte Ayuda:Búsqueda § grep .
(term)
<inputbox>...</inputbox>