Этот шаблон создает ссылку, которую можно использовать для хранения запроса в поле поиска Википедии. Ссылка поиска полезна для совместного поиска на страницах обсуждения и большинстве других страниц, но ее нельзя использовать в статьях. При использовании в статьях выводится указанное выше предупреждение.
{{Search link|first|second|third}}
Имя шаблона — Search link , или сокращенно sl
.
Второй и третий параметры необязательны и имеют значения по умолчанию, поэтому сокращенная форма — .{{sl|query}}
И ссылка поиска, и поле поиска ведут на одну и ту же поисковую систему. Один и тот же запрос дает один и тот же результат.
Базовый поиск охватывает статьи. Он очень быстро находит слова и фразы, состоящие из букв и цифр, но базовый поиск может также запрашивать все статьи, содержащие строку, включающую знаки препинания, математические и другие символы, которые можно увидеть в содержимом страницы или в викитексте страницы.
Этот шаблон отличается от поисковой строки поверхностно при поиске знака равенства. В поисковой строке вы просто говорите =, но здесь вы должны использовать пятибуквенную строку {{=}}. [2]
В поиске 5 обратите внимание на необходимость двойных кавычек вокруг шаблона поиска: . Они защищают любые символы от интерпретации как метасимволов регулярных выражений и гарантируют, что они будут интерпретированы буквально. В базовом поиске кавычки используются всегда, чтобы обеспечить поиск точной строки в викитексте. В расширенном поиске двойные кавычки не используются, поэтому метасимволы могут действовать как условные и ветвящиеся операторы для создания обобщенных шаблонов. insource:/"slash delimited regexp"/
Поиск 2 является примером самого простого фильтра, который можно применить для сопровождения любого поиска по регулярному выражению. Он просто берет ту же фразу и делает ее отдельным термином. Учитывая любое регулярное выражение , просто добавьте к нему . Последний термин всегда будет действовать как идеальный фильтр, сопоставляя все буквенно-цифровые символы и игнорируя все небуквенно-цифровые символы, ускоряя индексированный поиск, чтобы отфильтровать страницы, которые регулярное выражение не может сопоставить. Что касается других фильтров, пространство имен слабо, но каждый дополнительный термин увеличивает мощность регулярного выражения .insource/"exact string search"/insource:"exact string search"
В следующем разделе более подробно рассматриваются аргументы ссылок поиска .
Вот параметры шаблона для ссылки поиска.
Вам нужно использовать параметры 3–20 только если вам нужен профиль двух или более пространств имен для поискового домена. В противном случае вы можете просто сказать имя пространства имен (или все ) в начале запроса или префиксный параметр в конце запроса.
Когда запрос проходит через этот шаблон, доменом поиска по умолчанию является пространство статьи, как и для обычных пользователей. Доменом поиска по умолчанию для пользователя, вошедшего в систему или нет, является пространство статьи, если только пользователь не указал свои предпочтения . [3] Но независимо от того, кто использует ссылку поиска, результаты всегда будут одинаковыми. «Вырезать и вставить» никогда не может гарантировать одинаковые результаты поиска, но ссылка поиска может, потому что домен поиска — это просто пространство статьи для всех, или домен поиска — это набор пространств имен, которые вы устанавливаете для всех.
Если вы знаете номера вашего профиля домена поиска, вы просто вводите их в ns=ns0&ns1&ns118
. (Вы можете получить их из таблицы пространств имен справа.) В противном случае вы уточняете свой запрос и домен поиска на странице результатов поиска, чей расширенный интерфейс предназначен для выбора и настройки пространств имен без знания номеров пространств имен. Как только это даст удовлетворительные результаты, вы копируете строку пространств имен из URL (в адресной строке вашего браузера) и вставляете ее в |ns=
, и вы можете получить запрос из поля поиска на странице результатов поиска и вставить его как запрос, и это ваша ссылка поиска.
Если в вашей ссылке поиска есть только одно пространство имен, и это не пространство статей, вы можете указать его, сказав, например, ns=ns10, или |ns10"в позиции параметра 3 или выше:
{{sl|"search link" namespace||ns10}}
→ пространство имен "ссылка поиска"Для одного пространства имен предпочтительнее явное имя:
{{sl|Template:"search link" namespace}}
→ Шаблон:пространство имен "search link"Явное имя предпочтительнее, если вы собираетесь публиковать или сохранять ссылку поиска. Таким образом, при последующем запуске домен поиска будет явно отображаться в начале поля поиска на странице результатов поиска, чтобы информировать пользователя. В противном случае на странице результатов поиска всплывает только URL и только диалоговое окно профиля пространства имен, чтобы информировать пользователя. Когда это два или более пространств имен, такие вещи всегда происходят, потому что запрос принимает только одно пространство имен (только как первый термин). Но all также является информативным запросом, псевдопространством имен только для поиска. Если вы видите запрос, начинающийся с all:, URL будет загружен со всеми параметрами пространства имен.
Вы можете использовать «all» в {{Search link}}, чтобы указать все пространства имен:
{{sl|query|ns=all}}
{{sl|query|label|all}}
но опять же, гораздо предпочтительнее сказать
{{sl|all:"search link" namespace}}
→ все:"search link" пространство именчем использовать:
{{sl|"search link" namespace||all}}
→ пространство имен "ссылка поиска"по причинам, указанным выше. Но при указании "всех" время запроса увеличивается примерно в семь раз, поскольку на вики-страницах во столько же раз больше статей. Если возможен более целенаправленный поиск, он выполняется гораздо быстрее, чем поиск "всех".
Например, если у вас есть запрос, для которого известно, что домен поиска — 10 и 11, и вы не хотите использовать метку , то вам нужен параметр 3, но не нужен параметр 2 , поэтому в соответствии с правилами параметров шаблона ссылка поиска может быть создана четырьмя общими способами:
{{sl|query||ns10|ns11}}
Если параметр 1 не имеет имени, а параметр 2 не имеет имени | | (определен как «пустая строка»), то параметр 3 может быть определен как unnamed ns10, а параметр 4 может быть определен как unnamed ns11
, и т. д. Ничто не имеет имени, потому что все определено.{{sl|query|3=ns10|4=ns11}}
Параметр 2 не определен, но это нормально, поскольку параметры 3 и выше имеют имена...{{sl|query|ns=ns10&ns11}}
или пустой позиционный параметр | | не нужен, когда |ns=
определяет себя по имени.{{sl|query=query|label=|ns=ns10&ns11}}
Все четко поименовано.Другой пример: если выбрать пространства имен «Wikipedia» и «Help», а затем выполнить запрос, URL-адрес покажет ns4=1&ns12=1
. Скопируйте это и вставьте в |ns=ns4=1&ns12=1
. (Примечание: вы можете игнорировать часть «=1» в URL-адресе.)
Обратите внимание, что URL содержит ns0, ns1, ns2 и ns3, и как он их получил:
{{sl|systems operations|3=ns2|4=ns1|ns=ns3|20=ns0}}
→ системные операции{{sl|query = systems operations|||ns2|ns1|ns3|ns0}}
→ системные операции{{sl|systems operations|3=ns2&ns1&ns3&ns0}}
→ системные операцииЕсли вам нужно разработать очень специфичный поисковый домен, очень сложный, вырезанный из набора из тридцати пространств имен, то вы разработаете это на странице результатов поиска, используя расширенный выбор домена поиска. Затем вы просто вырезаете и вставляете всю строку из URL найденных вами пространств имен поискового домена и вставляете ее в один именованный параметр |ns=
.
Чтобы ввести пространства имен 0, 2, 4, 5, 7 и 9 без метки, есть два самых простых способа:
{{sl|query||ns0|ns2|ns4|ns5|ns7|ns9}}
{{sl|query|ns=ns0&ns2&ns4&ns5&ns7&ns9}}
Порядок не имеет значения.
Все они связаны с фильтрами . Любая ссылка поиска с поиском всегда должна предоставлять дополнительные условия запроса, которые будут фильтровать (уменьшать) домен поиска настолько, насколько это возможно. Этот шаблон по умолчанию использует пространство статей, если не указано пространство имен, что является фильтром.insource:/slash delimited regex/
insource:/regex/
Необходимость сопоставления знаков равенства в статье не удивительна и является базовой. Вам нужно использовать {{ = }} или |query=
or |1=
просто для получения знака равенства в вашем запросе к поисковой системе, или {{ ! }} для получения символа вертикальной черты в поисковой системе. Как символ вертикальной черты, так и знак равенства чувствительны к шаблонам для всех шаблонов, поэтому вы всегда можете заключить их в фигурные скобки, как в шаблонах. Хотя поле поиска может принимать = и | напрямую, кавычки необходимы в ссылке поиска , потому что в противном случае они имеют значение своих параметров.
Регулярные выражения чувствительны к знакам препинания, скобкам, математическим и другим символьным символам, которые в совокупности называются « знаками препинания », поэтому вы заключаете их в кавычки, поскольку в противном случае они имеют свое метасимволическое значение регулярного выражения. «Метасимволы» CirrusSearch заявили большинство знаков препинания как функции в своем регулярном выражении, но вам не обязательно знать все функции метасимволов, чтобы искать их как цели буквально. Вы можете просто заключать в кавычки все знаки препинания, чтобы искать их как цели буквально в викитексте. Способ легко заключить в кавычки каждый символ во всем регулярном выражении — это поместить весь термин в кавычки:insource:/"regexp with literal characters"/
Чтобы символ вертикальной черты прошел и через шаблон, и через поисковую систему, чтобы использовать его как символ в викитексте, вам придется дважды заключить его в кавычки, отсюда и частая необходимость в шести символах в ссылке расширенного поиска. Знак равенства не является метасимволом, поэтому его не нужно заключать в кавычки дважды, как символ вертикальной черты. Символ вертикальной черты — это метасимвол, означающий ИЛИ.\{{!}}
Чтобы создать расширенный поиск с использованием регулярных выражений, ознакомьтесь с информацией по адресу {{ regex }} .
Поисковая система может
Поиск соответствует тому, что вы видите на экране и в предварительном просмотре печати. Исходный вики-текст можно искать, используя insourceпараметр . Для этих двух видов поиска слово — это любая строка последовательных букв и цифр, соответствующая целому слову или фразе. Все остальные символы клавиатуры, такие как знаки препинания, скобки и косые черты, математические и другие символы, обычно не подлежат поиску.
По умолчанию поиск также будет определять первоисточники слов и сопоставлять их. Он автоматически сортирует результаты по частоте и местоположению этих слов, но также может повышать рейтинг страницы по времени, использованию шаблона или даже по схожести с другими страницами.
Search — поисковая система , которая выполняет полнотекстовый поиск , запрашивая индексную базу данных. Она предлагает синтаксис и параметры поиска, превосходящие возможности и контроль других публичных поисковых систем, которые могли бы искать в Википедии.
Допустим, задано поле поиска two words. Поиск начинается с двух индексных поисков, и два результата объединяются с помощью логического И. Но прежде чем они будут отображены как результаты поиска, им всем должна быть присвоена окончательная оценка, прежде чем будут отображены первые двадцать (перечисленные на первой странице), и они должны быть отформатированы с помощью фрагментов и выделения. Ранжирование страниц быстро справляется с очень большим количеством страниц, подходя к вещам статистически и выполняя несколько прокруток данных.
Эти атрибуты слова приносят странице более высокий балл:
Могут быть и другие механизмы оценки. Параметры, которые вы можете контролировать, это morelike, boost-template, и prefer-recent.
Теперь есть одиннадцать параметров для различных подходов к поиску во многих пространствах имен. Четыре из семи новых параметров теперь предлагают нацеливаться на эти характеристики страницы: hastemplateи linksto, insourceи insource:/regexp/. Остальные три теперь предлагают нацеливаться на рейтинг страницы: morelikeработает полностью отдельно, prefer-recentтермин может быть добавлен к любому запросу, и теперь есть также boost-templateпараметр. Остальные четыре, сохраненные только по названию, из полностью переписанной предыдущей версии Search, это intitle, incategory, prefix, и namespace .
Любой поиск будет содержать один из этих подходов
Концепция поискового домена играет важную роль во всем этом. По умолчанию это просто пространство статьи, но в целом поисковый домен начинается как набор пространств имен и заканчивается как все страницы в результатах поиска.
Один термин запроса установит домен поиска для другого термина в том же запросе. Порядок оптимизируется поисковой системой. Запрос term1 term2дважды преобразует домен поиска, чтобы получить эти результаты поиска. Например, пустое пространство имен возвращает страницы пространства имен. Запрос в значительной степени полагается на первые два термина, чтобы уменьшить размер домена поиска. term1 term2 regexp
Все термины в запросе являются индексированными поисками, если только они не являются регулярным выражением. Индексированные термины выполняются по словам мгновенно , а регулярное выражение выполняется по символам медленно . Даже самое простое использование регулярного выражения, просто чтобы найти точную строку, всегда должно ограничивать размер его поискового домена до минимально возможного. Это может быть так же просто, как добавление нескольких терминов (как описано ниже), потому что каждый термин в запросе имеет тенденцию уменьшать количество страниц. Никогда не запускайте голое регулярное выражение в вики, особенно если ваш профиль пользователя предварительно настроен на Everything . Поисковая система ограничивает количество поисков регулярных выражений, которые могут быть запущены одновременно. Без надлежащего фильтра, работающего вместе с регулярным выражением, он будет работать до двадцати секунд, а затем вызовет тайм-аут HTML.
На странице результатов поиска исходный домен поиска , в котором был выполнен запрос, указывается следующим образом, в порядке возрастания мощности для переопределения других:
Например, если параметр пространства имен равен all, размер исходного домена поиска составит 61 697 520 страниц во всех пространствах имен: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 100, 101, 118, 119, 710, 711, 828, 829 Параметр префикса указывает только одно из этих пространств имен, полностью или частично. Если исходный домен поиска — это домен по умолчанию, Страницы контента , его размер составит 6 899 963 страницы в пространстве имен 0 (пространство статей).
Поиск может быть установлен в ссылку для специализации и совместного использования поисков: . Такой запрос всегда должен быть полностью определен путем указания начального домена поиска, чтобы избежать расхождений в профилях пользователей. Таким образом, он дает те же результаты. Например, если требуется более одного пространства имен, используйте {{ search link }} . [6][[Special:Search/search]]
Другие полезные подходы к функциям поисковой системы:
Символы серого пространства — это не буквенно-цифровые символы: ~!@#$%^&*()_+{}|[]\:";'<>?,./. Любая строка символов серого пространства и/или пробельных символов является «серым пространством».
Серое пространство игнорируется, за исключением случаев, когда оно имеет значение модификатора в синтаксисе.
Параметры также принимают слова и фразы, но каждый из них может выполнять поиск по своему собственному индексу и интерпретировать свои собственные аргументы, например,
Разделители:
Двоеточие : символ:
Поиск — это запрос с одним или несколькими терминами . Фактически запрос не ищет в базе данных страниц, а скорее запрашивает заранее созданную, постоянно поддерживаемую базу данных поискового индекса. При создании поискового индекса слов в вики или при вводе запроса границей слова является серый пробел. Символы серого пробела могут создавать multi-word_phrase. Мы должны указать табуляцию и новую строку, хотя мы не можем поместить эти символы в наш запрос; это связано с важным фактом, что тот же анализ, который выполняется в викитексте, также выполняется и в запросе. Граница слова — это пробельные символы (табуляция, пробел или новая строка) или символы серого пробела. Символы серого пробела и пробельные символы все сворачиваются вместе как один, так же как специальные символы, такие как æ (ae) или á (a), сворачиваются в стандартные символы клавиатуры.
Фраза выражает порядок слов [7], и существует три способа его составить, в зависимости от того, насколько агрессивно вы хотите, чтобы фраза соответствовала порядку.
"Кавычки", фразы называются "точной фразой", потому что это точная формулировка: стемминг , нечеткий поиск и подстановочные знаки не используются в "точной фразе". Как и остальная часть поиска, "точная фраза" допускает серое пространство между словами. Joining_with_non-alphanumeric(characters) only, будет использовать стемминг для слов. CamelCaseNaming или переходы letter222number, соответствуют фразе в сером пространстве с стеммингом и дополнительно соответствуют самому слову. Параметры могут требовать, чтобы кавычки включали пробелы во входных данных.
Поиск в викитексте осуществляется с использованием параметра insource . Параметр insource также игнорирует символы серого пространства.
Например, чтобы найти фразу http://en.wikipedia.org/wiki/Template:Search_link/Search_engine
, используйте http://en.wikipedia.org/wiki/Template:Search_link/Search_engineили используйте insource: "http en wikipedia org wiki search engine".
Когда вы ищете слово, это слово просто ищется в индексе . Индексированный поиск мгновенно завершается со всеми заголовками результатов поиска , без необходимости поиска по самой вики.
Каждое слово, которое вы видите в контенте страницы (контенте заголовка), уже находится в индексе, где оно указывает на все его другие заранее подготовленные результаты. Слово индексируется в списке имен страниц, где оно отображается в тексте или отображается только в заголовке.
Каждое индексированное слово рассматривается как
Для переходов от нижнего регистра к верхнему (или camelCase) и переходов от буквы к цифре:
для или цифра-буква они совпадают по отдельности или вместе. Другими словами, вам не нужен пробел, но это также работает для поиска "слова" в верблюжьем регистре или смешанного буквенно-цифрового слова. Вам не нужен пробел, и не буквенно-цифровые символы рассматриваются как этот нулевой пробел.
Мы можем называть эти символы "словами" или "буквенно-цифровыми" символами в противовес символам "не слова", которые игнорируются, за исключением функции границы слова. Обычно граница слова — это просто пробел.
Эти слова нечувствительны к регистру: az эквивалентно AZ, поэтому поле поиска перенаправит на имя страницы независимо от регистра (хотя вики-ссылки и URL-адреса должны совпадать с регистром, за исключением начального символа).
Каждое слово связано со всеми его основами, поэтому cloud, clouding, clouds, clouded, cloudy будут указывать на одну и ту же запись индекса.
В Поиске символы !@#$%^&*()_+-={}|[]\:;'<>,.?/игнорируются. Любое сочетание пробельных символов и этих несловесных символов мы можем называть серым пространством . Серым пространством, таким образом, являются все несловесные символы, за исключением символа двойной кавычки, который не игнорируется.
Grey-space — это строка из одного или нескольких символов, таких как скобки, математические символы, знаки препинания и пробелы. Теперь индексированное поиском слово будет найдено между grey-space , а grey-space — это подразумеваемое AND двух слов в поисковом запросе, но AND не всегда подразумевается: когда две фразы существуют рядом, AND требуется.
Исключениями из индексируемых «слов» являются следующие части слов:
Граница слов между такими числовыми частями и буквенными частями может включать или не включать серый пробел, но поиск фразы отключает разделение на части , поскольку это «точный поиск фразы», слова во фразе соответствуют только буквенно-цифровым словам, разделенным серым пробелом.
Слова, соединенные только не буквенно-цифровыми символами, обрабатываются как фраза. Так, word1_word2&word3 — это то же самое, что и "word1 word2 word 3". Однако они также будут соответствовать camelCase и переходам буква-цифра. Точный поиск фразы не будет соответствовать camelCase или переходам буква-цифра. Например, такие термины, как wgCanonicalNamespace и !wgCanonicalSpecialPageName, можно найти, выполнив поиск canonical page name
.
Например:
Следующие части соответствуют одному термину txt2regEx
на странице: txt, 2, regex, reg, ex, txt2, 2reg, 2regex. Ни одна из этих частей не будет соответствовать поиску по фразе; только «txt2regex» будет соответствовать. [8]
Следующие выражения соответствуют двум терминам 2 + 2
: 2или "2", 2 2или "2 2", "2 2"или "2", "2+2"или 2+2, "2-2"или 2-2, "2.2"или 2.2Каждый термин является запросом, а серое пространство является оператором И.
Стемминг — это способ сопоставить значение «амбициозно», чтобы получить числа для возможного семантического сопоставления, так что run_shoeтакже совпадает running shoes
. Стемминг — это алгоритм правописания, лишь отдаленно зависящий от какого-либо словаря. [9] Алгоритм пытается найти то же самое слово , но во всех его окончаниях.
Нечеткий поиск будет соответствовать другому слову . Слова (но не фразы) допускают приблизительное соответствие строк~ или "нечеткий поиск". Для этого поиска "похоже" добавляется символ тильды . Другое слово должно отличаться не более чем на две буквы .
Но он может отличаться на одну букву в этих способах. Нечеткий поиск соответствует слову в точности плюс слова, похожие на него.
С помощью подстановочных знаков вы можете указать, какие буквы меняются, включая первые две буквы, и вы можете увеличить количество букв, которые могут меняться. Подстановочные знаки имеют свои собственные правила:
В то время как индексы слов создаются и обновляются, стемминг автоматически добавляет псевдонимы к большинству записей. Фактический словарь не используется. Вместо этого он запускает алгоритм, который применяет общие правила английского синтаксиса для окончаний слов. Результаты несовершенны. [10] Даже неправильно написанные слова, не слова и слова с числами индексируются и стеммируются таким образом. Добавляя различные формы одного и того же слова к индексированному поисковому запросу, стемминг является стандартным методом, который поисковые системы используют для агрессивного сбора большего количества результатов поиска, чтобы затем запустить кучу правил ранжирования страниц против.
Например, стемминг создаст псевдонимы для cloud , clouds , clouded и clouding . Он не создаст псевдоним для слова cloudy , но создаст псевдонимы для различных форм cloud к не- слову cloudion , поскольку -ion является распространенным окончанием слова.
Для поиска по исходному коду стемминг автоматически отключается:
Чтобы отключить стемминг , заключите слово в кавычки, это поиск по «точной фразе». [11]
Например: gameFolks, game!folks, game:folks соответствует FolksSoul
An "Exact phrase"или a wordбудет соответствовать в названии. А создание фразы "with tilde"~просто включает стемминг (что эквивалентно формированию фразы путем соединения слов with_greyspace). Но "exact phrase"~1соответствует формулировке в этом порядке плюс позволяет любому дополнительному слову попасть между двумя словами.
Например
"hitch4 hiker2"находит два "слова" в этом порядке (возможно, разделенные пунктуацией или скобками или другими символами клавиатуры, такими как математические символы), и без кавычек находит их в той же статье. В обоих случаях статья указана, когда пробел удовлетворяет логическому значению AND.
hello_dollyделает то же самое, что и "hello dolly"делает, но версия с двойными кавычками предлагает фильтр близости. После закрывающей кавычки вы добавляете тильду ~ и число, которое указывает общее количество слов, разрешенных между всеми терминами.
Обратная близость тоже работает, но включает два конечных слова между каждым сегментом. Близость не может сделать последнее слово близлежащим к первому. Близость может быть большим числом, например 500 или 1000.
Допустим, на странице есть слово1, слово2, слово3 именно в таком порядке. [12]
Два поисковых запроса без кавычек — это два фильтра и куча правил ранжирования страниц.
Истинная логика — это И, ИЛИ и не .
Логическое ИЛИ увеличивает результаты, тогда как логическое И уменьшает их. Логическое НЕ — хороший способ уточнить запрос, удалив любой термин , кроме параметра префикса .
Например while -refining -unwanted search results. Например, credit card -"credit card" находит все статьи со словами «card» и «credit»
Prefix и namespace — единственные позиционные параметры, а namespace — неименованный параметр поиска. Один или другой из них используется в запросе для переопределения начального домена поиска, установленного профилем пользователя или строкой поиска. Они не используются вместе: prefix переопределяет namespace.
Аргумент пространства имен должен находиться в начале запроса, а prefix:параметр — в конце запроса.
Namespace:— неименованный параметр поиска, который идет в начале запроса. [13] За пространством имен следует двоеточие, за которым следует ноль или более пробелов. и соответствует имени пространства имен . Имена пространств имен и «все» работают так, как и ожидалось, но наличие одного из них в поле поиска не гарантирует, что оно представляет результаты поиска, как объясняется ниже.
В дополнение к обычным именам пространств имен и их псевдонимам
Количество страниц с пространствами имен превышает количество страниц без них в соотношении 7 к 1 .
В строке поиска на странице результатов поиска
Они отличаются от пространства имен «all» тем, что сопоставляют ваши поисковые термины внутри PDF-файла на странице help:file , этот элемент на странице результатов поиска гласит «(соответствует содержимому файла)».
Например, file:"885.7 seconds" соответствует внутри PDF-файла, а all:"885.7 seconds" — нет.
prefix:namespace: string фильтрует пространство имен до одной или нескольких страниц, где строка соответствует начальным символам имени страницы. [16] Например, prefix:help:t находит имена страниц справки, которые начинаются с «T».
Prefix может выполнять функцию фильтра пространства имен, а также может изолировать отдельную статью, тогда как intitle не может. Prefix не может изолировать отдельную страницу, если у нее есть подстраницы.
Альтернативой префиксному запросу является Special:PrefixIndex :
Сравнение параметров пространства имен и префикса :
Следующие методы устанавливают начальный домен поиска по пространству имен:
Они указаны в порядке приоритета. Префикс переопределяет пространство имен, переопределяет GUI. Аргументом параметра префикса является полное имя страницы, которое передает пространство имен .
При чередовании доменов поиска с различными методами и из-за их приоритетов стоит повторить: проверьте указание в строке поиска; это самое тонкое. [17]
Панель выбора расширенного пространства имен из строки поиска не такая уж тонкая. Она останется до тех пор, пока действует более ранний выбор «запомнить выбор для будущих поисков». Вы можете «запомнить» пространство статьи, а затем либо 1) нажать «Содержимое», 2) выбрать другой домен поиска в строке поиска или 3) удалить все вхождения &profile=advanced
из URL.
Эти пять параметров поиска фильтруют пространство имен по введенному слову или фразе.
Имена этих параметров должны быть написаны только строчными буквами.
Intitle находит слово или фразу в pagename . Как и в случае со словом или фразой, можно применять морфологический и нечеткий поиск.
Чтобы найти совпадение в заголовке перенаправления или применить поиск близости к заголовку, вы можете положиться на программное обеспечение ранжирования страниц, чтобы повысить совпадения заголовков до совпадений контента. Таким образом, базовый поиск по слову или фразе, или поиск близости, является альтернативой intitle .
Например
Incategory имеет общий формат
и выбирает из раздела страниц заданной категории те страницы, которые также находятся в домене поиска.
Поскольку многие страницы за пределами основного пространства также категоризируются, подсчеты часто не будут соответствовать категории, если только домен поиска не является всей вики:
Мультикатегорийный ввод учитывает страницу только один раз. Следующие две категории имеют 209 страниц в пространстве статей, по шесть страниц в обеих категориях:
С другой стороны, это разрозненные категории:
Из-за особенностей Wikipedia:categorization эти категории не имеют общих страниц:
Категории и поиск являются синергетическими.
В следующих примерах обратите внимание, что описание страницы в пространстве имен категорий показывает размеры категорий вместо размеров страниц.
Hastemplateнаходит страницы, которые включают заданный шаблон. Находит использование шаблона , а не просто шаблон имени, потому что он найдет все страницы, где само содержимое шаблона было использовано каким-либо образом. Результаты немного различаются в зависимости от указанного вами псевдонима.
Hastemplate
Если вы не нашли искомое имя шаблона в викитексте страницы, это может означать, что вы указали каноническое имя страницы, но она нашла псевдоним, или что она была вызвана как вторичный шаблон посредством шаблона, который отображается в викитексте. Чтобы найти только видимые (первичные) вызовы, используйте insource.
Insource: term находит слово или фразу в викитексте.
В отличие от обычного поиска insource не находит вещи, «полученные» путем включения .
Insource нацеливает wikitext двумя способами. Они выглядят похоже, но форма regexp использует слеш / для разграничения regexp. [19]
Базовое регулярное выражение — это простой способ найти определенный, /"exact strings"/, как показано ниже. Двойные кавычки — это разделители полей. Это экранированные символы , которые заключают в кавычки весь набор символов между ними и сохраняют их интерпретацию буквальной (не допускают возникновения какой-либо интерпретации метасимволов).
Расширенное регулярное выражение использует метасимволы для программирования общих шаблонов строк. Оно находит все, даже части и части слов, не передавая никакого понятия «слова», а только то, что является строкой символов в последовательности. Метасимволы интерпретируются, если они не заключены в обратную косую черту, двойные кавычки или квадратные скобки. См. раздел о регулярных выражениях. Очевидный пример: вы должны заключать в кавычки любую косую черту в вашем шаблоне, чтобы она не была интерпретирована как закрывающий разделитель косой черты, используя \/вместо для /сопоставления с буквальной косой чертой. Регулярное выражение интерпретирует все метасимволы. Ответственное тестирование шаблона регулярного выражения требует ограничения области поиска
Злоупотребление регулярными выражениями не повредит производительности Википедии, но ограничивает передачу информации, полученной с помощью регулярных выражений, куда-либо еще.
Только регулярные выражения интерпретируют символы серого пространства. Обычный insource, как и везде, игнорирует символы серого пространства. Поэтому insource:"M S"
соответствует m/s, как insource:
"M-S"и insource:
"m=s". Но insource:/M\/S/
будет соответствовать ему, и отфильтрованная версия тоже: insource:"M/S" insource:/M\/S/
. insource:"word1 word2"Фильтр является наиболее очевидным фильтром для insource:/word1 word2/, где два слова викитекста разделены только знаками препинания и пробелом. Допустим, целевая строка {{Val|9999|ul=m/s|fmt=commas}}:
insource:
"val 9999 ul m s fmt commas"→ матчhastemplate:
val insource:
"9999 ul"→ матчhastemplate:
val insource:
"999"→ нет совпаденийhastemplate:
val insource:
"fmt commas"→ матчhastemplate:
val insource:
"ul m"→ матчhastemplate:
val insource:
"ul M S"→ матчhastemplate:
val insource:
fmt→ матчInsource сопоставляет слова последовательно, но совпадение может произойти в любом месте страницы, не обязательно внутри {{template markup}}. Для этого есть {{ template usage }} , и оно сопоставляет любое регулярное выражение внутри шаблона.
Для полной точности используйте /regex/. Например, чтобы найти любой пустой URL внутри , с , с возможным
вы не можете использовать более простой . Применяя осторожный подход, прежде чем пробовать полное регулярное выражение, создайте поисковый домен менее 10 000 страниц. Начиная с двух фильтров, prefix и insource:<ref name=name>...</ref>
[external link brackets label]
ref name=name
insource:"ref http server com"
insource: "ref http" prefix:A
98 000 — это слишком много для начала. insource: "ref http" prefix:AA
1000 — это хорошо.insource:/\<ref[^>]\> *\[?https?:\/\/[^][<> "]+\]? */
ноль для префикса: AA, один для префикса: ABinsource:/\<ref[^>]\>
вместо этого, а затем попробуйте префикс: AA — ноль; попробуйте AB — один.[^>]*
.insource: "ref http" insource:/\<ref[^>]*\> prefix:AB
. Есть3700 , и это нормально.У нас есть единственный возможный фильтр insource: ref prefix:AA
. Этот фильтр создает область поиска регулярных выражений всего 2300. Фильтр insource: ref prefix:Aсоздает область поиска264 000. Выполнение регулярного выражения на таком количестве страниц возможно и дает64 000 результатов.
Чтобы найти более целевой URL, скажем, yahoo.brand.edgar.com, используйте insource: "http yahoo brand edgar com" (или вырежьте и вставьте весь URL, слеши, точки и все остальное; это не имеет значения). Выполните еще один поиск с версией https. Эти поиски обладают большей гибкостью, чем Special:LinkSearch . Фильтр не нужен, но каждый поиск всегда выигрывает от дополнительной информации: любого слова, любой фразы и большинства параметров.
LinkstoСообщает вики-ссылки на имя страницы.
Linksto сообщает о викиссылках на имя страницы, даже если викиссылка
Linksto может отличаться от инструмента " What links here ", поскольку домен поиска для " What links here " - это все . Результаты поиска Linksto находятся в вашем домене поиска по умолчанию. (Также linkstoсообщается количество, как и все поиски.)
Помимо викитекста, он выполняет поиск внутри включенного контента страниц.
сначала, а затем сканировать содержимое. [20] Например
сообщит список из 300 статей, ссылающихся на него, как и « Что ссылается сюда ». Но Моцарт и скатология на самом деле ссылаются только 15 раз авторами контента . Остальные связаны с Моцартом и скатологией в Шаблон:Вольфганг Амадей Моцарт на нежелательных страницах. Шаблон нужен, но ссылка «ссылки на», вероятно, нет. [21]
Чтобы обойти это ограничение и просто найти все ссылки на авторство статьи, можно воспользоваться поиском по регулярному выражению:
Этот поиск найдет статьи только потому, что начальный : ограничивает начальный домен поиска пространством статьи, независимо от того, как установлен ваш домен поиска по умолчанию. Он найдет все ссылки во много раз быстрее, чем простое регулярное выражение, потому что первый insourceтермин мгновенно создает уточненный домен поиска , который устанавливает надлежащие ограничения для поиска по регулярному выражению. Регулярное выражение может учитывать вариации, найденные в викитексте, разрешенные разрешениями викиссылок: 1) метасимвол *допускает "ноль или более" пробелов до и после заголовка, и 2) [класс символов] в начале допускает расслабленное использование заглавных букв для первого символа в любом имени страницы, и 3) класс символов в конце находит ссылку, независимо от того, помечена ли она символом вертикальной черты | или закрыта квадратной скобкой ] викиссылки.
Ссылки на включения обрабатываются hastemplate .
Общая оценка страницы определяет ее место в результатах поиска.
Лучший матч увеличит счет.
«Важность» Wikiproject и оценки качества статей могут иметь значение. Поиск по странице, ее категориям, викиданным и геолокации может иметь значение.
Зная это, вы сможете лучше находить, например, полузабытый заголовок. Использование intitle может слишком сильно исказить результаты из-за порядка слов. Используйте их в поиске слов и полагайтесь на рейтинг страницы. Заголовочные слова будут отображаться сверху.
Чтобы получить представление о том, как может работать CirrusSearch, посетите mw:Search/Old#Search_Weighting_Ideas.
Для сортировки результатов поиска по дате используйте preference-recent . Для сортировки результатов поиска по использованию шаблона используйте boost-template .
Параметр morelikeпоиска выводит список всех статей, которые по частоте употребления слов и длине слов соответствуют одной или нескольким заданным статьям.
Morelike рассчитывает многословный поиск.
Посмотрите, как они выделены во фрагменте.
Morelike ищет заданные имена страниц в поисковом индексе, создает агрегат частоты слов и агрегат длины слов из всех слов и вычисляет многословный поиск на основе этих данных, а также внутренних переменных настроек. Это дорогой поиск.
Например, предположим, что вы ищете
затем выберите имя из этого списка и добавьте его
затем добавьте еще имена, пока у вас не будет пять входных pagenames. Затем вы можете начать слепо корректировать этот автоматически вычисляемый morelike запрос, говоря следующее: Сделайте вычисляемый запрос
Затем, скажем, вы изменяете количество входных имен страниц, содержащих слово, до двух (из пяти). 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
Он также может находить похожие статьи только по названию, или только по заголовкам, или только по начальному разделу.
Результаты поиска зависят от внутренних ( Mlt
, More like this) переменных, которые можно задать через URL-адрес и которые определяют, по каким словам следует выполнять поиск:
Например, вот как выглядит адресная строка (превращенная строка поиска) для поиска morelike для основных разделов двух статей по сравнению с другими основными разделами: 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 Обратите внимание на конец, содержащий два добавленных параметра URL, которые активировали возможность morelike .
Вы можете сортировать результаты поиска по дате.
Он идет в любом месте запроса. По умолчанию он принимает 160 дней как «недавние» и применяет свою формулу повышения 60% от оценки. Формула не является обычным множителем, это экспоненциальный множитель, потенциально гораздо более мощный. Это позволяет ему работать там, где значение по умолчанию для «недавних» вместо 160 дней может быть всего 9 секунд. Если ваше «недавнее» означает 9 секунд, используйтеprefer-recent:0.0001
Например, если вас интересуют только относительно немногие статьи, изменившиеся за последнюю неделю, используйте вместо этого 7. Это работает следующим образом: все статьи старше семи дней повышаются только наполовину, а все статьи старше 14 дней повышаются еще наполовину и т. д.
Повышение больше обычного множителя, оно экспоненциальное. Множитель, используемый в показателе, — это время с момента последнего редактирования. Чем больше время с момента последнего редактирования, тем меньше повышение. Формула — e −t , где t — это либо интервал в днях, либо интересующий интервал.
Добавить prefer-recent в начало поиска. Это даст более недавно отредактированным статьям подняться в результатах поиска. Общая форма:
Этот параметр принимает два аргумента, разделенных запятыми, для корректировки настроек по умолчанию. По умолчанию это будет масштабировать 60% оценки экспоненциально со временем с момента последнего редактирования, с периодом полураспада 160 дней. Таким образом, значение по умолчанию равно prefer-recent:0.6,160.
Это можно изменить, чтобы увеличить вес:
или уменьшить его:
Пропорция_счета_к_масштабу должна быть числом от 0 до 1 включительно. Поле half_life_in_days должно быть больше 0, но допускает десятичные точки, поэтому оно довольно хорошо подходит для сортировки близких времен редактирования, если они очень малы.
Например, prefer-recent:0.6,0.0001период полураспада составляет 8,64 секунды.
В конечном итоге эта функция будет включена по умолчанию для Викиновостей.
Boost-templates :" " добавляет вес страницам с указанным шаблоном или шаблонами (множественное число). Использование этого параметра поиска переопределяет обычную функцию повышения веса шаблона поиска. Не используйте этот параметр поиска без указания аргумента повышения веса, если только вы не хотите отключить функцию повышения веса шаблона для поиска.
Общий формат:
Видите ли, обычно системное сообщение [22] под названием MediaWiki:cirrussearch-boost-templates повышает оценку следующих полных имен страниц: Шаблон:Избранная статья|200% Шаблон:Избранная картинка|200% Шаблон:Избранный звук|200% Шаблон:Избранный список|175% Шаблон:Хорошая статья|150% Шаблон:Категория Sockpuppet|5% Шаблон:Категория обслуживания|5% Шаблон:Скрытая категория|5% Шаблон:Категория отслеживания|5% Шаблон:Класс категории|5% Шаблон:Важность категории|5% Шаблон:CatTrack|5% Шаблон:Категория шаблона|5%. Это фактические имена шаблонов и их фактическое повышение. Они заменяются во время использования boost-templates .
Например, поиск по словам «phenom» и «lecture» с шаблонами Search link и regexp, имеющими весовой коэффициент страниц, на которых они находятся, умноженный на 1,5 и 2,25 соответственно, при этом игнорируются все остальные шаблоны (приостанавливается добавление любого балла для любого другого шаблона):
Boost-templtes отличается от hastemplate в
Если вы просто хотите, чтобы результаты поиска включали только страницы с определенными шаблонами, используйте hastemplate один или несколько раз, чтобы отфильтровать страницы, которые их не содержат. В противном случае выберите множитель, аналогичный системному сообщению, показанному выше. Умножение оценки страницы на 10 выполняется с 1000% и, вероятно, замаскирует все другие функции взвешивания, такие как «когда искомые слова совпадают в заголовке», будет иметь небольшой эффект при представлении результатов поиска и не рекомендуется, поскольку влияет на порядок всего списка.
hastemplate или boost-templates можно использовать в любом месте запроса, каждый из которых имеет другие термины по обе стороны от себя. — это термин в запросе, который можно использовать в любом месте запроса, имея другие термины по обе стороны от себя.
Соответствующие вопросы в CirrusSearch :
cm2
m3m3
Обходные пути
Поиск неисправностей
Все страницы Википедии сканируются и индексируются собственной поисковой системой Википедии . Весь вики рассматривается как один «полный текст», хранящийся в отдельной базе данных («индексе»), созданной специально для поиска. Это как индекс в книге, но практически каждое слово и каждое число индексируются на каждой странице. [23]
Поскольку каждое слово в предварительно созданном поисковом индексе уже указывает на страницы, которые его содержат, поиск по ключевому слову обычно соответствует одному поиску записи в индексе. (Это также верно для фраз, в определенной степени.) "Поиск по индексу" в основном не занимает времени для выполнения. Он дешев и многочислен.
Существуют отдельные обновляемые индексы для:
Любой текст, включенный из шаблона, индексируется так, как если бы он действительно присутствовал на целевой странице. (Другими словами, по умолчанию поиск по ключевым словам выполняется по тексту отображаемой страницы Википедии, а не по самому источнику страницы. Однако вы можете изменить это, используя для поиска исходную разметку вместо отображаемой страницы.)insource:keyword
Подготовка и поддержка поисковых индексов выполняется серверами Википедии в фоновом режиме, практически в реальном времени. Как только вы сохраните страницу, через несколько секунд вы сможете искать только что внесенные изменения. Для шаблонов, которые транслируются на многие-многие страницы, распространение этих изменений на все страницы в индексе может занять некоторое время.
Индекс основан на буквенно-цифровых символах; он не хранит никакой информации о небуквенно-цифровых символах. Если вы введете какие-либо знаки препинания или скобки в поле поиска при выполнении индексированного поиска, эти символы будут молча отброшены.
Базовый индексированный поиск
Вместо выполнения базового индексированного поиска по ключевым словам вы можете выполнить поиск по регулярным выражениям , который обходит индекс. Поиск по регулярным выражениям сканирует текст каждой страницы Википедии в режиме реального времени, символ за символом, чтобы найти страницы, которые соответствуют определенной последовательности или шаблону символов. В отличие от поиска по ключевым словам, поиск по регулярным выражениям по умолчанию чувствителен к регистру, не игнорирует пунктуацию и работает непосредственно с исходным кодом страницы (разметкой MediaWiki), а не с отображаемым содержимым страницы.
Для выполнения поиска по регулярному выражению используйте обычное поле поиска с синтаксисом или . Выражение обозначает регулярное выражение в синтаксисе регулярных выражений MediaWiki.insource:/regex/
intitle:/regex/
regex
Поскольку поиск регулярных выражений сканирует каждую страницу символ за символом, он, как правило, намного медленнее, чем поиск по индексу. Вы можете — и должны — добавлять дополнительные поисковые термины при использовании, чтобы уменьшить объем обрабатываемого текста. Например:insource:/regex/
polish insource:/polish/
находит страницы, которые соответствуют нечувствительному к регистру поиску по ключевым словам с основой для "polish" (включая "polished" или "polishing"); затем выполняет поиск по регулярным выражениям с учетом регистра на этих страницах. Возвращаются только страницы, соответствующие обоим фильтрам.insource:polish insource:/polish/
похож, но начинается с поиска без учета регистра исходной разметки, а не отображаемой страницы (поэтому он найдет такие использования, как Poles
, и не найдет включения).intitle:
, incategory:
, и linksto:
являются отличными фильтрами. [ необходимо разъяснение ]hastemplate:
хороший фильтр. [ требуется разъяснение ]Добавление поискового термина на основе индекса для сокращения объема сканируемого текста важно просто для того, чтобы ваш собственный поиск по регулярным выражениям завершался за разумное время. Поиск по регулярным выражениям, который занимает слишком много времени, «истекл бы» и возвращал бы только частичные результаты. Чрезмерное использование медленных поисков по регулярным выражениям может привести к временному ограничению функции для вас и/или всех в Википедии. (Однако вы не можете повлиять на производительность сайта Википедии в целом, просто злоупотребляя поиском по регулярным выражениям.) Помните, что один поиск по регулярным выражениям может занять несколько секунд, и в настоящее время в Википедии зарегистрировано 48 152 275 пользователей. Используйте поиск по регулярным выражениям ответственно.
Синтаксис регулярных выражений MediaWiki работает следующим образом:
insource:/C-3p0/
будет искать страницы, содержащие буквенную строку "C-3p0" (с учетом регистра).. + * ? | { [ ] ( ) " \ # @ < ~
. Любой метасимвол можно экранировать , поставив перед ним обратную косую черту \
. Постановка перед любым другим символом обратной косой черты безвредна. Например, insource:/yes\.\no/
будет искать страницы, содержащие литеральную строку "yes.no" (с учетом регистра). Эксперты по регулярным выражениям должны отметить, что \n
не означает "новая строка", \d
не означает "цифра" и т. д.: В синтаксисе MediaWiki единственное использование \
- это экранирование метасимволов./
является особенным, поскольку указывает на конец регулярного выражения. Например, insource:/yes/no/
обрабатывается так же, как insource:/yes/ no
(потому что поиск по ключевым словам no/
игнорирует пунктуацию). /
Символ должен быть экранирован обратной косой чертой везде, где он появляется внутри регулярного выражения – даже внутри квадратных скобок или кавычек..
соответствует любому отдельному символу. Например, insource:/yes.no/
соответствует yes/no
, yes no
, yesuno
, и т. д.( )
группировать последовательность символов в атомарную единицу.|
идет между двумя последовательностями и соответствует любой из них. Например, insource:/a(g|ch)e/
соответствует либо , age
либо ache
.+
соответствует предыдущему символу или группе один или несколько раз. Например, insource:/ab+(cd)+/
соответствует abcd
, abbbcd
, abbcdcd
, и т.д. insource:/a(g|ch)+e/
соответствует agge
, achgchchggche
, и т.д.*
соответствует предыдущему символу или группе любое количество раз (включая ноль). Например, insource:/ab*(cd)*/
соответствует a
, abbb
, acdcd
, и т. д.?
соответствует предыдущему символу или группе ровно ноль или один раз.{ }
соответствует предыдущему символу или группе фиксированное количество раз. Например, insource:/[a-z]{2}/
соответствует ровно 2 строчным буквам подряд. insource:/[a-z]{2,4}/
соответствует любой строке из 2, 3 или 4 строчных букв. insource:/[a-z]{2,}/
соответствует любой строке из 2 или более строчных букв.[ ]
ввести класс символов , который соответствует одному экземпляру любого из символов в классе. Например, insource:/[Pp]olish/
соответствует Polish
и polish
. Символы внутри квадратных скобок обычно не требуют экранирования, хотя их экранирование остается безвредным и /
все равно должно экранироваться везде. Например, insource:/[.\/\]\n]/
соответствует одному экземпляру .
, /
, ]
, или n
.^
(если он появляется первым) представляет отрицание, а символ -
(если он не появляется первым или последним) представляет диапазон. Например, insource:/[A-Za-z0-9_]/
соответствует любому буквенно-цифровому символу или подчеркиванию и insource:/[^A-Za-z]/
соответствует любому не -буквенному символу.< >
обозначают числа, рассматриваемые как числа, а не символы. Например, insource:/AD <476-1453>/
соответствует AD 476
, AD 477
, ... AD 1452
, AD 1453
, но не AD 1474
. (Но он также будет соответствовать первым шести символам AD 4760
.)~
"смотрит вперед" и отрицает следующий символ или группу. Например, insource:/crab~(cake)c/
должно соответствовать первым пяти символам , crabclaw
но не первым пяти символам crabcake
. [ необходимо уточнение ]Есть еще несколько дополнительных особенностей синтаксиса:
@
является синонимом .*
(соответствует любой последовательности символов).insource:/0/
не удался, хотя insource:/1/
оба insource:/\0/
были успешными." "
являются механизмом экранирования, как квадратные скобки или обратная косая черта. Например, insource:/".*"/
означает то же самое, что и insource:/\.\*/
.#
также является метасимволом и должен быть экранирован. [ необходимо разъяснение ]\n
не означает «переход на новую строку», \d
не означает «цифру» и т. д.^
не означает «начало текста» и $
не означает «конец текста». Поиск с начала или конца страницы Википедии, как правило, бесполезен.Хотя классы символов \n
, \s
, \S
не поддерживаются, вы можете использовать следующие обходные пути:
^ Чтобы исключить также символ табуляции, скопируйте его и добавьте в набор символов.
В этих диапазонах " " (пробел) — это символ, следующий сразу за управляющими символами , "!" — это символ, следующий сразу за пробелом, а "��" — это U+10FFFF, последний символ в Unicode . Таким образом, диапазон от " " до "��" включает все символы, за исключением управляющих символов (из которых статьи могут содержать переводы строк и табуляции), тогда как диапазон от "!" до "��" включает все символы, за исключением управляющих символов и пробела.
|1=
чтобы передать знак равенства любому параметру, даже метке ссылки.# < > [ ] | { }
.Регулярные выражения — это небольшие компьютерные программы, поэтому для поиска по регулярным выражениям характерно то, что они должны быть написаны во время изучения целевых данных и протестированы для достижения их потенциальной точности и тщательности. Однако только несколько из этих интенсивных поисков технически способны работать одновременно с базой данных. [1] Песочница минимизирует ваш след и гарантирует, что вы никогда не запустите непроверенное регулярное выражение для каждого пространства имен в вики, даже если ваш поиск по умолчанию позволяет вам это сделать.
Хотя обычный поиск, нацеленный на всю вики, будет работать быстро, поиск по регулярным выражениям должен быть нацелен на как можно меньшее количество страниц, используя фильтры, чтобы работать быстро. Фильтр — это часть или весь запрос к базе данных . Фильтры включают:
Порядок не важен, поскольку поиск оптимизируется программой перед запуском.
Чтобы выбрать только одну страницу при экспериментировании с поиском по регулярному выражению или его разработке, выберите fullpagename. В поле поиска используйте фильтр . В поле редактирования (любого раздела страницы с целевыми данными) вы всегда можете просто написать , и он «раскроется» для вас до fullpagename. Хотя вы можете редактировать страницу истории, технически «страница истории» не является страницей (в базе данных), и поэтому {{FULLPAGENAME}} будет указывать на версию базы данных (а не на ее собственный рендеринг). По той же причине вы не можете искать викитекст на странице, которая еще не сохранена (в базе данных), хотя вы, безусловно, можете снова и снова изменять параметры поиска без необходимости их сохранения .prefix:fullpagenameprefix:{{FULLPAGENAME}}
Fullpagename — это namespace:pagename . Зная это, вы можете настроить свой параметр Prefix. Хотя prefix может фильтровать вниз до одной страницы, он может фильтровать вверх до пространства имен, а также принимает начальные буквы набора имен страниц, если вы хотите уменьшить домен поиска пространства имен.
Песочница Regex использует специальную песочницу, созданную путем редактирования любой страницы, содержащей целевые данные, и использования ее в качестве «песочницы» (не редактируя ее для сохранения). Затем она развивается путем добавления ссылки поиска, которая включает insource:/ regexp /, с префиксом фильтра :{{FULLPAGENAME}} рядом.
Использование песочницы позволяет максимально ограничить область поиска с помощью фильтров. После того, как шаблон регулярного выражения отточен, вы увеличиваете область поиска. Поиск по регулярному выражению лучше всего выполнять с фильтрами, а не в одиночку, даже если это отполированное rexexp.
Вместо того, чтобы использовать поле поиска, где ввод знака равенства и символа вертикальной черты, а также «кавычек вокруг фраз» — это простое дело, все равно проще всего использовать шаблон поисковой ссылки на основе регулярных выражений — {{ regex }} или {{ tlusage }} — на странице с образцами данных, потому что тогда вы можете сосредоточиться на целевых данных там и на написании шаблона регулярного выражения. Это проще, если вы уже понимаете, как шаблоны «избегают» символа вертикальной черты и знака равенства. Смотрите Help:Template#Parameters для других важных деталей.
Процедура здесь представляет собой итеративный цикл «чтение-оценка-изменение». Разработка регулярных выражений требует, чтобы вы изучали целевые данные при написании и переписывании его шаблона.
Будьте бдительны : если вы измените цель для немедленного повторного тестирования, вам придется сохранить и очистить данные , но не в том случае, если вы просто измените регулярное выражение.
В качестве специальной песочницы вы можете отобразить викитекст такого раздела (уже сохраненный в базе данных), изменить некоторые шаблоны в вызовах шаблонов regex-search-link на этой странице, выполнить предварительный просмотр и увидеть совпадения при нажатии на недавно сформированную regex search-link, и все это совершенно безопасно и без внесения каких-либо изменений в базу данных.
Вызовы шаблонов, которые производят "1 фут/с ,2 кв. фута ,3 м/с ,4 м*с-2 ,5 фут.с-2 ,6 °С/Дж , и7 J/C " появляются в викитексте этого раздела следующим образом:
Обратите внимание на то, как пронумерованы указанные выше цели, затем нажмите на ссылки ниже.
В Q2 обратите внимание, как программное обеспечение MediaWiki игнорирует пробелы вокруг параметров, но как в Q4 то же самое программное обеспечение MediaWiki обрабатывает пробелы внутри параметров. Q2 можно было бы решить простым insource:val fmtпоиском, потому что "fmt" и "val" — это целые слова, а fmt редко встречается отдельно от Val. А как насчет hastemplate:val insource:fmt?
Поисковая ссылка сохраняет запрос в ссылке, которая переносит вас к результатам поиска в реальном времени для этого сохраненного поиска. Они находятся на страницах пользователей и страницах обсуждений. Используйте одну, чтобы предоставить полный набор функций поиска MediaWiki или функции внешних поисковых систем пользователям, незнакомым с параметрами поиска.
Одним из типов ссылок поиска является вики-ссылка со всеми возможностями поиска (поле поиска) и стандартным синтаксисом вики-ссылки: . Таким образом, эта ссылка поиска будет (1) переходить по адресу : [[Special:search/Wales]] → Special:search/Wales или (2) искать: → search/~Wales, если вы добавите префикс в виде символа тильды ~. [[Special:Search/query| label]] [[Special:search/~Wales | search/~Wales]]
Все остальные поисковые ссылки сделаны из шаблона , который будет создавать URL вместо wikilink. URL может, например, вызывать внешние поисковые системы для поиска в Wikipedia.
Поля поиска создаются <inputbox>
тегами. Смотрите mw:Extension:InputBox.
Для поиска с точными совпадениями, точными в верхнем и нижнем регистре или в знаках препинания см. Справка:Поиск § grep .
(term)
<inputbox>...</inputbox>