Постоянно защищенный шаблон
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Документация по шаблону [ просмотреть ] [ изменить ] [ история ] [ очистить ]


Этот шаблон создает ссылку, которую можно использовать для хранения запроса окна поиска Википедии. Ссылка для поиска полезна для совместного поиска на страницах обсуждения и на большинстве других страниц, но ее нельзя использовать в статьях. Если используется в статьях , выводится указанное выше предупреждение.

Основы

{{Search link|first|second|third}}

  • Первый параметр предназначен для поиска или запроса.
  • Второй параметр - это метка для ссылки .
  • Третий параметр - это домен поиска .

Название шаблона - « Поиск по ссылке» или сокращенно sl .
Второй и третий параметры являются необязательными и имеют значения по умолчанию, поэтому краткая форма - .{{sl|query}}

И ссылка поиска, и окно поиска ведут к одной и той же поисковой системе. Тот же запрос дает тот же результат.

Основной поиск охватывает статьи. Он очень быстро находит слова и фразы, состоящие из букв и цифр, но базовый поиск также может запрашивать все статьи, содержащие строку, содержащую знаки пунктуации, математические и другие символы, как видно в содержимом страницы или как видно в вики-тексте страницы.

Этот шаблон внешне отличается от окна поиска при поиске знака равенства. В поле поиска вы просто говорите =, но здесь вы должны использовать пятибуквенную строку {{=}}. [2]

В поисках 5 уведомление о необходимости в двойные кавычки вокруг шаблона поиска: . Они защищают любые символы от интерпретации как метасимволы регулярных выражений и гарантируют, что они интерпретируются буквально. При базовом поиске всегда используются кавычки, чтобы включить точный поиск в вики-тексте. В расширенном поиске двойные кавычки не используются, поэтому метасимволы могут действовать как условные операторы и операторы ветвления для создания обобщенных шаблонов. insource:/"slash delimited regexp"/

Поиск 2 является примером самого простого фильтра, который можно применить к любому поиску по регулярному выражению. Он просто берет ту же фразу и делает ее отдельным термином. Для любого регулярного выражения просто добавьте к нему . Последний термин всегда будет действовать как идеальный фильтр, сопоставляя все буквенно-цифровые символы и игнорируя все не буквенно-цифровые значения, ускоряя индексированный поиск, чтобы отфильтровать страницы, которые регулярное выражение не могло найти. Что касается других фильтров, пространство имен слабое, но каждый дополнительный термин увеличивает мощность регулярного выражения .insource/"exact string search"/insource:"exact string search"

В следующем разделе более подробно рассматриваются аргументы ссылки поиска .

Передовой

Вот параметры шаблона для ссылки поиска.

Вам нужно использовать параметры 3–20 только в том случае, если вам нужен профиль из двух или более пространств имен для поискового домена. В противном случае вы можете просто сказать имя пространства имен (или все ) в начале запроса или параметр префикса в конце запроса.

Когда запрос проходит через этот шаблон, поисковым доменом по умолчанию является пространство статей, как и для обычных пользователей. Доменом поиска по умолчанию для пользователя, вошедшего в систему или нет, является пространство статьи, если пользователь не установил свои предпочтения . [3] Но независимо от того, кто использует ссылку для поиска, результаты всегда будут одинаковыми. «Вырезать и вставить» никогда не может гарантировать одинаковые результаты для поиска, но поисковая ссылка может, потому что домен поиска - это просто пространство для статьи для всех, или домен поиска - это набор пространств имен, которые вы установили для всех.

Если вы знаете номера профиля своего поискового домена, просто введите их ns=ns0&ns1&ns2600. (Вы можете получить их из таблицы пространств имен справа.) В противном случае вы уточняете свой запрос и домен поиска на странице результатов поиска, расширенный интерфейс которой предназначен для выбора и настройки пространств имен без знания номеров пространств имен. Как только это даст удовлетворительные результаты, вы копируете строку пространств имен из URL-адреса (в адресной строке браузера) и вставляете ее в |ns=, и вы можете получить запрос из окна поиска страницы результатов поиска и вставить его как запрос, и это ссылку для поиска.

Если у вас есть только одно пространство имен в вашей поисковой ссылке, и это не пространство для статей, вы можете указать его, сказав, скажем ns=ns10, или |ns10"в позиции параметра 3 или выше:

{{sl|"search link" namespace||ns10}}пространство имен "поисковая ссылка"

Для одного пространства имен предпочтительнее явное имя:

{{sl|Template:"search link" namespace}}Шаблон: пространство имен "поисковая ссылка"

Явное имя предпочтительнее, если вы будете публиковать или сохранять ссылку для поиска. Таким образом, когда он запускается позже, поисковый домен явно отображается в начале поля поиска на странице результатов поиска, чтобы проинформировать пользователя. В противном случае на странице результатов поиска появляется только URL-адрес и только диалоговое окно профиля пространства имен, чтобы проинформировать пользователя. Когда это два или более пространств имен, это всегда происходит, потому что запрос принимает только одно пространство имен (только как первый термин). Но все это также информативный запрос, псевдо-пространство имен только для поиска. Если вы видите, что запрос начинается с all:, URL-адрес будет загружен со всеми параметрами пространства имен.

Вы можете использовать "all" в {{Search link}}, чтобы указать все пространства имен:

{{sl|query|ns=all}}</nowiki>
{{sl|query|label|all}}</nowiki>

но опять же, гораздо предпочтительнее сказать

{{sl|all:"search link" namespace}}все: пространство имён "ссылка на поиск"

чем использовать:

{{sl|"search link" namespace||all}}пространство имен "поисковая ссылка"

по причинам, указанным выше.Но при указании «все» время запроса примерно в семь раз больше, потому что страниц в вики намного больше, чем статей. Если возможен более адресный поиск, он выполняется намного быстрее, чем поиск «все».

Например, если у вас есть запрос, для которого известно, что домен поиска - 10 и 11, и вам не нужна метка , тогда вам нужен параметр 3, но не нужен параметр 2 , поэтому в соответствии с правилами параметра шаблона ссылка поиска может быть производится четырьмя основными способами:

  • {{sl|query||ns10|ns11}} Когда параметр 1 безымянный, а параметр 2 безымянный | | (определяется как «пустая строка»), то параметр 3 может быть определен без имени ns10, а параметр 4 может быть определен без имени ns11и так далее. Ничего не названо, потому что все определено.
  • {{sl|query|3=ns10|4=ns11}} Параметр 2 не определен, но это нормально, потому что все параметры 3 и выше называются ...
  • {{sl|query|ns=ns10&ns11}} или пустой позиционный параметр | | не требуется, когда |ns=определяет себя named.
  • {{sl|query=query|label=|ns=ns10&ns11}} Все явно названо.

Другой пример: если вы выберете пространства имен «Википедия» и «Справка», а затем запустите запрос, отобразится 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=или |1=просто , чтобы получить знак равенства в запросе к поисковой системе, или {{ ! }}, чтобы передать поисковой системе вертикальную черту. И вертикальные черты, и знаки равенства чувствительны к шаблону для всех шаблонов, поэтому вы всегда можете заключить их в фигурные скобки, как внутри шаблонов. Хотя поиск окно может взять = и | непосредственно в поисковой ссылке необходимо цитирование, потому что в противном случае они имеют значение своих параметров.

Регулярные выражения чувствительны к пунктуации, скобкам, математике и другим символическим символам, которые в совокупности известны как « пунктуация », поэтому вы их цитируете, потому что в противном случае они имеют значение метасимвола регулярного выражения . «Метасимволы» CirrusSearch заявили, что большинство знаков препинания являются функциями в своем регулярном выражении, но вам не нужно знать все функции метасимволов, чтобы буквально искать их как цели. Вы можете просто процитировать все знаки препинания, чтобы искать их как буквальные цели в викитексте. Чтобы легко заключить в кавычки каждый символ во всем регулярном выражении, нужно заключить весь термин в кавычки:insource:/"regexp with literal characters"/

Чтобы получить вертикальную черту как в шаблоне, так и в поисковой системе для таргетинга на нее как на символ в викитексте, вы должны процитировать его дважды, отсюда частая потребность в шести символах в ссылке расширенного поиска. Знак равенства не является метасимволом, поэтому его не нужно заключать в двойные кавычки, как это делает вертикальная черта. Вертикальная черта - это метасимвол, означающий ИЛИ.\{{!}}

Чтобы сгенерировать расширенный поиск по регулярным выражениям, см. Об этом на странице {{ regex }}.

Возможности поисковой системы

Поисковая система может

  • сортировать по дате
  • сворачивайте семейства персонажей. Соответствует eсимволу ë, а Aeroskobingсоответствует Ærøskøbing.
  • понять, когда страница linkstoили hastemplate, или что-то intitle, илиincategory
  • понять ORи AND, и две формы нет .
  • выполнять нечеткий поиск по написанию слов.
  • размещайте слова как можно ближе друг к другу.
  • найти выражения с подстановочными знаками и регулярные выражения .

Поиск соответствует тому, что вы видите на экране и в предварительном просмотре печати. Необработанный "исходный" викитекст доступен для поиска с помощью insourceпараметра. Для этих двух видов поиска слово - это любая строка, состоящая из следующих друг за другом букв и цифр, соответствующих целому слову или фразе. Все другие символы клавиатуры, такие как знаки препинания, скобки и косые черты, математические и другие символы, обычно не доступны для поиска.

По умолчанию поиск также отбирает слова и сопоставляет их. Он автоматически сортирует результаты по частоте и местоположению, но также может повысить рейтинг страницы по времени, использованию шаблона или даже по сходству с другими страницами.

Поиск - это поисковая система, которая выполняет полнотекстовый поиск , запрашивая базу данных индекса . Он предлагает синтаксис и параметры поиска, превосходящие возможности и возможности других общедоступных поисковых систем, которые могут выполнять поиск в Википедии.

Оценка страницы

Скажем, дано окно поиска two words. Поиск начинается с двух поисков по индексу, и два результата объединяются логическим И. Но перед тем, как они будут отображаться в качестве результатов поиска, им всем должен быть присвоен окончательный балл, прежде чем можно будет отобразить первую двадцатку (перечисленных на первой странице), и они должны быть отформатированы с помощью фрагментов и выделения. Ранжирование страниц позволяет быстро обрабатывать очень большое количество страниц за счет статистического анализа и нескольких пролистываний данных.

  1. Частота и расположение каждого слова определяет первую сортировку. [4]
  2. Порядок слов определяет вторую сортировку. Если два слова встречаются на странице в одном и том же порядке, эта страница снова увеличивается.
  3. Количество входящих ссылок. [5]

Эти атрибуты для слова приносят этой странице более высокий балл:

  • позиция в названии
  • позиция в ведущей секции
  • репетиция
  • непосредственная близость к другим словам в запросе

Может быть несколько других механизмов оценки. Параметры , которые вы можете контролировать это morelike, boost-templateи prefer-recent.

Общее описание

Теперь существует одиннадцать параметров для различных подходов к поиску во многих пространствах имен. Четыре из семи новых параметров теперь предлагают настроить таргетинг на следующие характеристики страницы: hastemplateи linksto, insourceи insource:/regexp/. Остальные три теперь предлагают целевой рейтинг страницы: morelikeработает автономно, prefer-recentтермин может быть добавлен к любому запросу, а также теперь есть boost-templateпараметр. Остальные четыре, сохранилось только имя, с полностью переписан предыдущей версии поиска, являются intitle, incategory, prefixи пространство имен .

Любой поиск будет использовать один из этих подходов

  • Положитесь на рейтинг страницы; игнорировать большинство результатов; запустить один раз.
  • Найдите точную строку с помощью простого регулярного выражения; предварительно протестируйте небольшой поисковый домен.
  • Взломайте тщательно продуманный набор характеристик страницы, заботясь только о точном подсчете страниц; уточнить в песочнице и на странице результатов поиска.

Во всем этом важную роль играет концепция поисковой области . По умолчанию это просто пространство для статей, но в целом поисковый домен начинается с набора пространств имен и заканчивается всеми страницами в результатах поиска.

Один термин запроса устанавливает домен поиска для другого термина в том же запросе. Порядок оптимизируется поисковой системой. Запрос term1 term2дважды преобразует область поиска, чтобы получить эти результаты поиска. Например, пустое пространство имен возвращает страницы пространства имен. Запрос в значительной степени полагается на первые два условия, чтобы уменьшить размер области поиска. term1 term2 regexp

Все термины в запросе являются индексированными поисковыми запросами, если они не являются регулярным выражением. Индексированные термины запускаются мгновенно , а регулярное выражение - медленно . Даже самое простое использование регулярного выражения, просто чтобы найти точную строку, всегда должно ограничивать размер области поиска как можно меньшим. Это может быть так же просто, как добавление нескольких терминов (как описано ниже), потому что каждый термин в запросе имеет тенденцию уменьшать количество страниц. Никогда не запускайте голое регулярное выражение на вики , особенно если ваш профиль предварительно задаются Everything. Поисковая система ограничивает количество одновременных поисков по регулярным выражениям. Без правильного фильтра, работающего вместе с регулярным выражением, он будет работать до двадцати секунд, а затем вызовет тайм-аут HTML.

На странице результатов поиска начальный домен поиска, в котором был запущен запрос, обозначается следующим:

  • открыть диалоговое окно пространства имен, если пользователь предварительно установил профиль пространств имен
  • Контентные страницы, или мультимедиа, или все : если одна из них была начальной областью поиска, то цвет этого текста изменится с синего (цвета ссылки) на черный (презентация).
  • параметр пространства имен в запросе
  • prefixпараметр переопределяет их всех.

Например, если параметр пространства имен равен all, размер начального домена поиска будет 53 295 920 страниц во всех пространствах имен: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. , 13, 14, 15, 100, 101, 102, 103, 104, 105, 106, 107, 460, 461, 490, 491, 828, 829, 1198, 1199, 2300, 2301, 2302, 2303, 2600 A префикс Параметр указывает только одно из этих пространств имен, полностью или частично. Если исходный домен поиска является доменом по умолчанию, его размер страницы содержимого составляет 6 293 448 страниц в пространстве имен 0 (пространство статьи).

Поиск может быть установлен в ссылку специализироваться и доля поиска: . Такой запрос всегда должен быть полностью определен с указанием начального домена поиска, чтобы избежать расхождений в профилях пользователей. Таким образом, он дает те же результаты. Например, если требуется более одного пространства имен, используйте {{ search link }}. [6][[Special:Search/search]]

Другие полезные подходы к функциям поисковой системы:

  • шаблоны, такие как {{ template usage }}, которые предлагают заранее подготовленный специализированный поиск.
  • Настройки поля ввода , например, внизу этой страницы, которые, возможно, можно настроить для работы с такими шаблонами.
  • отправка запросов на новые или улучшенные функции в фабрикаторе

Синтаксис

Greyspace символы являются не буквенно-цифровые символы: ~!@#$%^&*()_+{}|[]\:";'<>?,./. Любая строка символов серого и / или пробелов является «серым».

Серое пространство игнорируется, за исключением случаев, когда оно имеет значение как модификатор в синтаксисе.

  • +term отключает предложения типа "Возможно, вы имели в виду"
  • _termотключает варианты "Возможно, вы имели в виду" для этого термина
  • -termзначит нет . Он меняет значение с включения на исключение .
  • !termтакже означает « нет» .
  • Символ двоеточия :может указывать «пространство статьи» в качестве области поиска, и в некоторых случаях он может действовать как буква или цифра внутри слова (без пробелов). Они описаны ниже.
  • Символ тильды ~обычно ассоциируется с поиском дополнительных результатов поиска:
    • ~query гарантирует результаты поиска вместо навигации.
    • word~ выполняет "нечеткий поиск" этого слова.
    • "exact phrase"~добавляет корень для каждого слова.
    • "exact phrase"~n выполняет «поиск по близости», допуская n дополнительных слов внутри точной формулировки.

Параметры также принимают слова и фразы, но каждый может выполнять поиск по своему индексу и интерпретировать свои собственные аргументы, например, для

  • требовать пространство имен или нет, или принимать псевдонимы пространства имен, или нет
  • сообщать о перенаправлениях или нет
  • для ввода имени страницы: чувствительность к регистру или нет, или принятие _символа подчеркивания вместо символа пробела или нет
  • разделители для аргументов
  • значение собственного синтаксиса символов-модификаторов

Разделители:

  • Пространство имен не нуждается в разделителях, но принимает пробелы слева и серое пространство справа
  • Префикс допускает только пробелы между пространством имен и именем страницы и допускает серое пространство слева.
  • insource:/arg/ не требует пробела, но все остальные параметры допускают как минимум пробелы
  • Два слова, разделенные только символами серого пробела, образуют фразу серого пробела, подлежащую выделению
  • "Двойные кавычки": составьте точную фразу и сделайте возможным выделение корней и близость с помощью дополнительных модификаторов.
  • Серое пространство игнорируется:
    • где угодно внутри двойных кавычек
    • в начальных символах запроса окна поиска, но не перед пространством имен
    • между словами и фразами, кроме фраз с серым пространством
  • Важны только символы пробела
    • для названий страниц (ссылки, префикс, инкатегория, буст-шаблоны и т. д.).
    • между двумя параметрами (для ограничения аргумента)

Двоеточие: символ:

  • как пространство имен, это означает пространство статьи
  • в качестве префикса означает место для статьи
  • для inource или «точной фразы» это означает буквальное двоеточие и действует так же, как буква или цифра, если это двоеточие без пробелов.

Слово и фраза

Поиск - это запрос с одним или несколькими терминами . Этот запрос фактически не выполняет поиск в базе данных страниц, а скорее выполняет поиск по заранее созданной, постоянно поддерживаемой базе данных индекса поиска. При создании поискового индекса слов в вики или при вводе запроса граница слова - это серое пространство. Серые символыможет создать multi-word_phrase. Мы должны использовать табуляцию и новую строку, даже если мы не можем поместить эти символы в наш запрос; Это связано с тем важным фактом, что тот же анализ, что и вики-текст, выполняется и для запроса. Граница слова - это символы пробела (табуляция, пробел или новая строка) или символы серого пробела. Серые символы и пробельные символы складываются вместе как одно целое, так же как специальные символы, такие как a (ae) или á (a), складываются в стандартные символы клавиатуры.

Фраза выражает порядок слов [7], и есть три способа сделать такой, в зависимости от того, насколько агрессивно вы хотите, чтобы фраза соответствовала.

  • "кавычки"
  • joining_with_non-alphanumeric (символы)
  • camelCaseNaming или переходы letter222number

«Кавычки», фразы называются «точной фразой», потому что это точная формулировка: выделение корней , нечеткий поиск и подстановочные знаки не используются в «точной фразе». Как и в остальной части поиска, "точная фраза" допускает использование серых пробелов между словами. Joining_with_non-alphanumeric (символы) только, будет использовать основание для слов. CamelCaseNaming или letter222number, соответствует фразе в сером пространстве с выделением корня и дополнительно соответствует самому слову. Параметры могут требовать, чтобы кавычки включали в их ввод пробелы.

Поиск в викитексте осуществляется с помощью параметра insource . Параметр insource также игнорирует символы серого пространства.

Например, чтобы найти фразу http://en.wikipedia.org/wiki/Search_engine, использовать http://en.wikipedia.org/wiki/Search_engineили использовать insource: "http en wikipedia org wiki search engine".

Когда вы ищете слово, это слово просто просматривается в индексе . Индексированный поиск мгновенно завершается всеми заголовками результатов поиска без необходимости поиска в самой вики.

Каждое слово, которое вы видите в содержимом страницы (содержимое заголовка), уже находится в индексе, где оно указывает на все другие заранее подготовленные результаты. Слово индексируется в списке имен страниц, где оно отображается в тексте или только в заголовке.

Каждое проиндексированное слово отображается как

  • строка буквенных символов az, или
  • строка цифр 0-9, или
  • строка буквенно-цифровых символов az, 0–9.
  • токен внутри слова camelCase.

Для переходов от нижнего регистра к верхнему (или camelCase) и перехода от буквы к цифре:

  • это два слова
  • только первый переход делит такие слова на два
  • пустое пространство соответствует не буквенно-цифровым символам: game-folks соответствует gameFolks.

для или буква-цифра они совпадают по отдельности или вместе. Другими словами, вам не нужен пробел, но он также работает, чтобы найти «слово» из верблюжьего падежа или смешанное буквенно-цифровое слово. Вам не нужен пробел, и не буквенно-цифровые символы рассматриваются как это пустое пространство.

Мы можем иногда называть эти «словесные» символы или «буквенно-цифровые» символы в отличие от «несловесных» символов, которые игнорируются, за исключением того, что они служат границей слова. Обычно граница слова - это просто пробел.

Эти слова не чувствительны к регистру: az эквивалентно AZ, поэтому поле поиска будет переходить к имени страницы независимо от заглавных букв (даже если вики-ссылки и URL-адреса должны соответствовать заглавным буквам, кроме начального символа).

Каждому слову присваивается псевдоним для всех его словосочетаний, поэтому облако, облачность, облачность, облачность, облачность - все будут указывать на одну и ту же запись указателя.

В поиске символы !@#$%^&*()_+-={}|[]\:;'<>,.?/игнорируются. Любое сочетание символов пробела и этих символов, отличных от слов, мы можем назвать серым пространством . Таким образом, серое пространство - это все символы, отличные от слов, за исключением символа двойной кавычки, который не игнорируется.

Серое пространство - это строка из одного или нескольких символов, таких как скобки, математические символы, знаки пунктуации и пробелы. Теперь слово, проиндексированное поиском, будет найдено между серым пространством , а серое пространство является подразумеваемым AND двух слов в поисковом запросе, но AND не всегда подразумевается: когда две фразы существуют рядом, AND требуется.

Исключениями из того, какие "слова" индексируются, являются следующие слова с порциями :

  • Переход от числового символа к буквенно-цифровому - это дополнительная граница слова в буквенно-цифровом слове.
  • Переход от буквенно-цифрового символа к числовому - это граница слова в буквенно-цифровом слове.
  • Изменение регистра с нижнего на верхний - это граница слова в алфавитном слове.

Граница слов между такими числовыми частями и буквенными частями может включать в себя серое пространство или нет, но поиск по фразе отключает разделение на части , потому что это «точный поиск по фразе», слова во фразе соответствуют только буквенно-цифровым словам, разделенным серым - космос.

Слова, соединенные только не буквенно-цифровыми символами, рассматриваются как фраза. Таким образом, word1_word2 & word3 совпадает с "word1 word2 word 3". Однако они также будут соответствовать переходам «camelCase» и «буква-число». Точный поиск по словосочетанию не будет соответствовать переходам «camelCase» или «буква-число». Например, можно найти такие термины, как wgCanonicalNamespace и! WgCanonicalSpecialPageName canonical page name.

Например:

  • Numeronym как C10K считается одно слово для близости, но два слова для сравнения.
  • числа во множественном числе, например "2010-е"

Следующий матч однотерминные 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. Stemming - это алгоритм правописания, который лишь отдаленно зависит от словаря. [9] Алгоритм пытается найти одно и то же слово , но со всеми его окончаниями.

Нечеткий поиск будет соответствовать другому слову . Слова (но не фразы) допускают приблизительное соответствие строк или "нечеткий поиск". Для ~этого поиска типа «похоже на звук» добавляется символ тильды . Другое слово должно отличаться не более чем на две буквы .

  • Не первые две буквы. Первые две буквы должны совпадать.
  • Две буквы поменялись местами.
  • Изменились две буквы.
  • Две буквы добавлены, две буквы вычтены или одна вычтена и одна добавлена.

Но так он может отличаться на одну букву. Нечеткий поиск соответствует слову в точности и подобным словам.

  • это ~ , → так и стук, истончается и то , но не его или чертополох
  • Чарли ~ Паркер ~ → Чарли Паркер, Чарльз Палмер и Чарли Паркс

С помощью подстановочных знаков вы можете указать, какие буквы меняются, включая первые две буквы, и вы можете увеличить количество букв, которые могут измениться. У подстановочных знаков есть свои правила:

  • * ноль или более букв или цифр
  • * \? одна или несколько букв или цифр.
  • \? одна буква или цифра
  • ни ни \? может соответствовать первой букве; они могут идти в середине или в конце.
  • \? и * можно использовать любое количество раз в слове
  • this * → чертополох и This1234 и This
  • g \? it \? r → гетр зоб гитара g8it9r
  • клавиша * → клавиатура и перфорация

Пока индексы слов создаются и обновляются, определение основы автоматически добавляет псевдонимы к большинству статей. Фактический словарь не используется. Вместо этого он запускает алгоритм, который применяет общие правила английского синтаксиса для окончаний слов. Результаты неидеальны. [10] Таким образом индексируются и ограничиваются даже слова с ошибками, не слова и слова с числами в них. Добавляя разные формы одного и того же слова к проиндексированному поисковому запросу, стемминг - это стандартный метод, который поисковые системы используют для агрессивного сбора большего количества результатов поиска, чтобы затем использовать кучу правил ранжирования страниц.

Например, вытекающий псевдоним воля облака , облако , дымчатое и помутнение . Это будет не псевдоним слова облачного , но это будет псевдонимы различных форм облака к , не -Word cloudion , потому что -ионное общеупотребительное слово заканчивается.

При поиске в исходных кодах автоматически отключается стемминг:

  • облака
  • insource: облако
  • "облака"

Чтобы включить вытекающие от ввести слово в кавычках, это «точная фраза» поиск. [11]

Например: gameFolks, game! Folks, game: folks соответствует FolksSoul.

Близость

  • Поиск по близости не выполняет поиск по заголовкам.
  • Близость работает в обратном направлении, если вы дадите ей большее значение.
  • Поиск по близости отключает остановку.

"Exact phrase"Или wordбудет соответствовать в названии. А создание фразы "with tilde"~просто включает основание (что эквивалентно формированию фразы путем соединения слов with_greyspace). Но "exact phrase"~1соответствует формулировке в этом порядке плюс позволяет любому дополнительному слову попасть между двумя словами.

Например

  • "exact second phrase"~2позволяет двум дополнительным словам уместиться в любом месте по обе стороны от второго члена.
  • "exact phrase"~3 также находит "точное словосочетание" (два слова в обратном порядке)
  • Ищете "Shift-Alt-P" или "Alt_Shift-P"? Это не так "Alt-shift-P"~3. Это не так "alt shift"~3-P. Используйте "alt shift p" OR "shift alt p"вместо этого.
  • «Dorsal vertebrae» ~ 2 совпадения «Dorsal (or Thoracic) vertebrae»
  • «Три дополнительных слова» ~ 5 соответствует « три w-1 w2% дополнительных w: 3 w_4 $ w5 слов ».

"hitch4 hiker2"находит два «слова» в указанном порядке (возможно, разделенные пунктуацией, скобками или другими символами клавиатуры, такими как математические символы) и без кавычек находит их в той же статье. В обоих случаях статья включается в список, когда пространство удовлетворяет логическому значению И.

hello_dollyделает то же самое "hello dolly", но версия с двойными кавычками предлагает фильтр близости. После заключительной кавычки вы добавляете тильду ~ и число, указывающее общее количество слов, разрешенных между всеми терминами.

  • "WordOne wordTwo" означает фразу (ноль слов между ними)
  • «Word1 word2» → word1 <[! @ #]> <[: $% ^ * ()]> <[+ - * /]> word2
  • "Word3 word4" ~ 1 → word3 extra1word word4
  • "Word5 word6 word7" ~ 2 → word5 extra1word word6 extra2word word7
  • "Word8 word9 word10" ~ 2 → word8 word9 extra1word extra2word word10

Обратная близость тоже работает, но включает два конечных слова между каждым сегментом. Близость не может сделать последнее слово приближенным к первому. Близость может быть большим числом, например 500 или 1000.

Скажем, на странице есть слово1 слово2 слово3 в указанном порядке. [12]

  • "WordB wordA" ~ 4 → wordA extra1word extra2word wordB
  • "WordC wordB wordA" ~ 6 → WordA wordB extra1word extra2word wordc

Два условия поиска без кавычек - это два фильтра и набор правил ранжирования страниц.

Логика поиска

Логика истины - это И, ИЛИ, а не нет .

  • Запросы не принимают круглые скобки. Таким образом, несколько терминов не могут быть сгруппированы в один логический термин.
  • Параметры не принимают И или ИЛИ, но принимать не
  • word word2  будет И два условия.
  • word AND word2 будет И два условия. (похожий)
  • word OR word2  будет ИЛИ два
  • -wordне будет термин, за исключением страниц, соответствующих слову.
  • !wordне будет срок (аналогично)

Логическое ИЛИ увеличивает результаты, а логическое И уменьшает их. Логическое не - хороший способ уточнить запрос, удалив любой термин, кроме параметра префикса .

Например while -refining -unwanted search results. Например, credit card -"credit card" находит все статьи с «картой» и «кредитом».

Префикс и пространство имен

Префикс и пространство имен являются единственными позиционными параметрами, а пространство имен - безымянным параметром поиска. Один или другой из них используется в запросе для переопределения начального домена поиска, установленного профилем пользователя или панелью поиска. Они не используются вместе: префикс переопределяет пространство имен.

Аргумент пространства имен должен быть в начале запроса, а prefix:параметр - в конце запроса.

Пространство имен

Namespace:- это безымянный параметр поиска, который ставится в начале запроса. [13] За пространством имен следует двоеточие, за которым следует ноль или более пробелов. и соответствует имени пространства имен . Имена пространств имен и «все» работают должным образом, но наличие одного в поле поиска не гарантирует, что оно представляет результаты поиска, как описано ниже.

В дополнение к обычным именам пространств имен и их псевдонимам

  • allищет все пространства имен в вики. [14]
  • fileвыполняет поиск в вики и вики Commons .
    • поиск слов и фраз на страницах файлов
    • ищется текстовое содержимое во всех загруженных вложениях [15]
    • Если соответствие выполняется в формате PDF (или подобном), это указывается в результатах поиска в скобках: «(соответствует содержимому файла)».
  • file:local отключает поиск на Commons
  • all не ищет в Commons
  • Имена пространств имен не чувствительны к регистру, но «all» и «local» должны быть в нижнем регистре.
  • All: не является пространством имен поиска и будет рассматриваться как слово.
  • local:не будет рассматриваться как слово, а вместо этого будет автоматически игнорироваться, если не задействовано пространство имен File, например, в строке поиска при активации мультимедиа или всего .
  • В запросе local:действует только после пространства имен File file:local.

Страниц с пространствами имен больше, чем без них, в 7 раз больше .

В строке поиска на странице результатов поиска

  • Все ищет все, плюс Commons и пространство имен File.
  • Расширенный, когда установлен флажок Все (пространства имен), эквивалентен Все .
  • Multimedia выполняет поиск в пространствах имен File и Media в локальной вики, а также в Commons.

Они отличаются от имен «все», сопоставляя условия поиска внутри PDF на помощь: страницу файла , этот элемент на странице результатов поиска , говорит «(содержимое файла матчей)».

Например, файл: «885,7 секунды» соответствует внутри PDF- файла , но все: «885,7 секунды» - нет.

Приставка

prefix:namespace: string фильтрует пространство имен до одной или нескольких страниц, где строка соответствует начальным символам имени страницы. [16] Например, prefix:help:t находит имена страниц справки, начинающиеся с буквы «T».

  • Когда строка содержит нулевые символы, будут найдены все страницы в данном пространстве имен.
  • Когда строка содержит все символы имени страницы, будет найдена одна страница.
  • Строка не чувствительна к регистру.
  • Пространство имен может быть псевдонимом пространства имен, например WPдля Wikipedia.
  • Допускается пробел между пространством имен и именем страницы.
  • Пространство имен для префикса по умолчанию равно пространству статьи.
  • Префикс не соответствует перенаправлению. (Но см. Special: PrefixIndex .)
  • Префикс нельзя использовать в качестве фильтра: прочерк -prefixигнорируется. -prefix:WP: ab устанавливает только поисковый домен "Wikipedia: Ab".
  • Никакие символы названия страницы не игнорируются. Даже пробел является частью имени страницы, поэтому префикс должен стоять в конце.

Префикс может выполнять функцию фильтра пространства имен, плюс он может изолировать отдельную статью, тогда как intitle не может. Префикс не может изолировать отдельную страницу, если у нее есть подстраницы.

Альтернативой префиксному запросу является Special: PrefixIndex :

  • многоколоночный отчет, способный перечислить несколько сотен имен страниц на одной странице
  • С учетом регистра
  • тоже перечисляет перенаправления

По сравнению

Сравнение параметров пространства имен и префикса :

  • И префикс, и пространство имен могут служить для установки начального домена поиска.
  • Для данного пространства имен они эквивалентны.
  • Они оба фильтруют заголовки.
  • Оба принимают псевдонимы пространства имен , но префикс не распознает "все".
  • Оба они ограничивают начальный домен поиска одним пространством имен.
  • Пространство имен идет только в начале, а префикс - только в конце.

Следующие методы задают начальный домен поиска по пространству имен:

  • a prefix:, по умолчанию это пространство статьи
  • аргумент пространства имен в начале запроса, который по умолчанию соответствует поисковому домену пользователя по умолчанию
  • параметры URL &nsN=1
  • графический интерфейс расширенного профиля на странице результатов поиска

Они находятся в порядке старшинства. Префикс переопределяет пространство имен, переопределяет графический интерфейс. Аргументом параметра префикса является полное имя страницы, которое передает пространство имен .

При чередовании доменов поиска, с использованием различных методов и из-за их приоритетов, это заслуживает повторения: проверьте индикацию панели поиска; это очень тонко.[17] Панель выбора расширенного пространства имен в строке поиска не такая уж тонкая. Он будет оставаться до тех пор, пока действует предыдущий выбор «запомнить выбор для будущих поисков». Вы можете «запомнить» пространство статьи, а затем либо 1) нажать «Содержимое», 2) выбрать другой домен поиска панели поиска или 3) удалить все экземпляры &profile=advancedиз URL-адреса.

Атрибуты страницы

Эти пять параметров поиска фильтруют пространство имен по входному слову или фразе.

  • Нет ИЛИ. Например, нет intitle:A OR intitle:B
  • Никаких позиционных требований, и все может быть автономно, например !hastemplate: Val
  • incategoryПринимает только несколько вводов (между вертикальной чертой | символы)
  • Только linkstoи insourceне принимайте фразы с серым пространством
  • Только с linkstoучетом регистра.
  • Только insourceчувствительно к символу двоеточия: без пробелов.

Эти имена параметров должны быть написаны строчными буквами.

Intitle

Intitle находит слово или фразу в названии страницы . Подобно поиску по слову или фразе , может применяться поиск по корням и нечеткий поиск.

  • Ввод слова можно заключить в двойные кавычки, чтобы отключить выделение корней .
  • Входная фразы можно использовать greyspace , чтобы включить на вытекающем .
  • Ввод одного слова может содержать суффикс тильды ~ для нечеткого поиска.
  • Ввод одного слова может содержать суффикс звездочки * для поиска по шаблону .
  • Intitle не выполняет поиск перенаправлений .
  • Поиск по близости не является вариантом поиска по заголовку.

Чтобы найти совпадение в заголовке перенаправления или применить поиск по близости к заголовку, вы можете положиться на программное обеспечение для ранжирования страниц, которое повысит совпадение заголовков до совпадения содержимого. Таким образом, поиск по базовому слову или фразе или поиск по близости является альтернативой intitle .

Например

intitle: «лесной хребет» находит, а поиск по близости
"Forest Rridge" ~ 3 сразу находит дюжину связанных названий.
intitle: image_label показывает стемминг , а intitle: "image label" - нет.
intitle: жонглирование показывает стемминг.
intitle: sun intitle: moon показывает, как искать два слова в одном заголовке.

Инкатегория

Инкатегория имеет общий формат

incategory: "category|category|...|category

и выбирает из раздела страниц данной категории страницы те страницы, которые также находятся в домене поиска.

  • При вводе категорий не учитывается регистр.
  • Вводные данные Incategory чувствительны к пробелу. Нет пробелов вокруг категории. Для любого пробела внутри любого ввода используйте «двойные кавычки» вокруг всего выражения.
  • Результаты поиска не включают подкатегории. Для этого есть параметр поиска deepcat , доступный путем добавления строки в ваши файлы javaScript и CSS. [18]
  • Можно применять несколько категорий, не превышающих 300 символов в запросе.

Поскольку многие страницы за пределами основного пространства также классифицируются, счетчики часто не соответствуют категории, если домен поиска не является всей вики:

  • все: inc Рубрика: История (все 70 страниц)
  • категория: История (объем статьи, 36 страниц)
  • портал: в рубрике: История (пространство портала, 2 страницы)

При вводе с несколькими категориями страница учитывается только один раз. Следующие две категории имеют 209 страниц в пространстве статей, по шесть страниц в обеих категориях:

категория: «Методы поиска информации»; категория: «Обработка естественного языка» (6)
incategory: "Обработка естественного языка" (159)
incategory: "Информационно-поисковые методы" (50)
incategory: «Методы поиска информации | Обработка естественного языка» (203: = 209−6)

С другой стороны, это разные категории:

  • все: inc Рубрика: Камес (23 страницы о горах)
  • все: inc Категория: Шлюпы (18 страниц о кораблях)
  • все: inc Категория: Камес | Шлюпы (41: = 23 + 18)

Из-за характера Википедии: категоризация этих категорий не имеет общих страниц:

  • все: инкатегория: история инкатегория: математика вкатегория: физика (ноль страниц соответствует всем / и )
  • все: inc Рубрика: История (70 страниц)
  • все: inc Рубрика: Физика (57 стр.)
  • все: в том числе: Математика (30 стр.)
  • все: inc Рубрика: История | Физика (127 стр.)
  • все: inc Рубрика: История | Математика (100 страниц)
  • все: inc Рубрика: Физика | Математика (87 стр.)
  • все: inc Рубрика: История | Математика | Физика (157 стр.)

Категории и поиск являются синергетическими.

  • Для поиска заголовков категорий, а также ссылок и текста на странице категории выполните поиск в пространстве имен категории (или используйте CategoryTree или Categories для поиска заголовков).
  • Если две категории тесно связаны, но не находятся в отношении подмножества, то ссылки между ними могут быть включены в текст страниц категорий.
  • Поиск слова или фразы часто может точно соответствовать категории : он может соответствовать в поле категорий внизу каждой страницы. Когда это происходит, результат поиска будет содержать пометку в скобках « ( Название страницы категории ) ».

В следующих примерах обратите внимание, как в описании страницы в пространстве имен категорий отображаются размеры категорий, а не размеры страниц.

  • category: intitle: disambiguation (ищет в пространстве имен категорий заголовки с этим словом.)
  • category: history Texan (ищет в пространстве имен категорий эти два слова в заголовке или теле страницы категории)
  • anaxyrus (легко определить страницы, нуждающиеся в категоризации, потому что у них также нет перенаправления с этим термином.)

Hastemplate

Hastemplateнаходит страницы, включающие данный шаблон. Находит использование шаблона , а не только шаблон имени, потому что он найдет все страницы, на которых само содержимое шаблона каким-либо образом использовалось. Результаты немного отличаются в зависимости от присвоенного псевдонима.

Hastemplate

  • учитывая каноническое имя страницы (в строке заголовка), он также найдет все псевдонимы (перенаправления), а также любые ссылки на подстраницы из родительского шаблона.
  • учитывая псевдоним (на имени страницы перенаправления) находит шаблон имени перенаправления
  • не чувствителен к регистру
  • принимает полное имя страницы, чтобы найти использование шаблонов (размещенных) в другом пространстве имен Template, кроме стандартного по умолчанию (точно так же, как в самом вызове {{ template }})

Если вы не можете найти искомое имя шаблона на вики - текста на странице, это может означать , что либо вы дали канонический ИмяСтраницы , но он нашел псевдоним, или что он был вызван в качестве вторичного шаблона путем шаблона , который является показанным в вики-тексте. Чтобы найти только видимые (основные) вызовы, используйте insource.

Insource

Insource: term  находит слово или фразу в викитексте.

  • Нет greyspace_phrases.
  • Нет остановки.
  • Никакой близости.
  • Да, символы подстановки, но только для слов, а не когда термин является «точной фразой».
  • обрабатывает символ двоеточия: без пробелов как обычную букву
  • Insource не выполняет поиск в файлах .js или .css, за исключением комментариев или тегов nowiki.

В отличие от обычного поиска, insource не находит вещи, «полученные» включением .

Insource нацелен на вики-текст двумя способами. Они выглядят похоже, но в форме регулярного выражения используется косая черта / символ для ограничения регулярного выражения. [19]

  1. insource: term   находит проиндексированное слово или фразу.
  2. insource:/regexp/  нацелен на весь викитекст каждой страницы в поисковом домене как одну длинную строку символов на страницу, имеющую или не имеющую шаблон. Это «регулярное выражение» (или регулярное выражение, или регулярное выражение). Его метасимволы могут представлять несколько возможностей для позиции символа или диапазона позиций символа на странице, используя метасимволы для логики истинности, группировки, подсчета и изменения символов, которые необходимо найти.

Базовое регулярное выражение - это простой способ найти конкретный /"exact strings"/, как показано ниже. Двойные кавычки - это разделители полей. Это escape-символы, которые заключают в кавычки весь набор символов между ними и сохраняют буквальную интерпретацию (не допускайте появления любой интерпретации метасимволов).

Расширенное регулярное выражение использует метасимволы для программирования общих строковых шаблонов. Он находит все, даже части и части слов, не передавая понятия «слова», а только понятие строки символов в последовательности. Метасимволы интерпретируются, если они не заключены в обратную косую черту, двойные кавычки или квадратные скобки. См. Раздел о регулярных выражениях. Очевидный пример: вы должны заключить в кавычки любую косую черту в своем шаблоне, чтобы она не интерпретировалась как закрывающий разделитель косой черты, используя \/вместо этого /буквальную косую черту. Регулярное выражение интерпретирует все метасимволы. Ответственное тестирование шаблона регулярного выражения требует ограничения области поиска

  • сделав его одной страницей с помощью фильтра имени страницы prefix:page name
  • параметр префикса или другой фильтр, ограничивающий поисковый домен до необходимого количества страниц.
  • тестовая вики.

Злоупотребление регулярным выражением не повредит производительности Википедии, но ограничивает передачу информации о поиске по регулярному выражению в другое место.

Только регулярное выражение интерпретирует символы серого пространства. Обычный 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 usage }}, и он соответствует любому регулярному выражению внутри шаблона.

Для полной точности используйте / regex /. Например, чтобы найти любой пустой URL-адрес внутри , с , возможно, вы не можете использовать более простой . Применив осторожный подход, прежде чем пробовать полное регулярное выражение, создайте поисковый домен до 10 000 страниц. Начиная с двух фильтров, префикса и insource:<ref name=name>...</ref>[external link brackets label]ref name=nameinsource:"ref http server com"

  1. insource: "ref http" prefix:A 98 000 - это слишком много для начала.
  2. insource: "ref http" prefix:AA 1000 - это хорошо.
  3. Итак, я пытаюсь добавить insource:/\<ref[^>]\> *\[?https?:\/\/[^][<> "]+\]? */нулевой термин регулярного выражения для префикса: AA, один для префикса: AB
  4. Так что попробуйте insource:/\<ref[^>]\>вместо этого, а затем попробуйте prefix: AA zero; попробуйте AB, один.
  5. Вы заметили, что забыли модификатор для [^>]*.
  6. insource: "ref http" insource:/\<ref[^>]*\> prefix:AB. Есть3700 , и это нормально.
  7. Экспериментируйте дальше. Затем решите выполнить проект в сегментах AA, AB, AC, ... ZZ.
  8. insource:/\<ref[^>]*\> *\[?https?:\/\/[^][<> "]+\]? */ insource: ref prefix:AA

У нас есть единственно возможный фильтр 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 принимает только каноническое полное имя. Используйте строку заголовка. Если заголовок не начинается с заглавной буквы или если вы по какой-либо причине не уверены в строке заголовка, вы можете просмотреть его {{FULLPAGENAME}}при редактировании страницы.
  • Linksto чувствителен к регистру.
  • Псевдонимы пространств имен обнаруживаются, но не принимаются в качестве входных.
  • Linksto не находит перенаправления. Если вам нужны все ссылки на контент, вам придется искать каждое имя страницы перенаправления .
  • Linksto не сообщает о данной странице как о ссылке на себя, даже если есть внутренние ссылки между разделами.
  • Linksto не находит вики-ссылки в стиле URL на страницу.
  • О свернутых навигационных ссылках не сообщает linksto, но сообщает WhatLinksHere.

Linksto сообщает о вики-ссылках на имя страницы, даже если вики-ссылка

  • в раздел.
  • из ссылки на подстраницу .
  • скрыто в включении («за» шаблоном, образующим вики-ссылку).

Linksto может отличаться от инструмента « Какие ссылки здесь », потому что поисковый домен для « Какие ссылки здесь » - это все . Ссылки на результаты поиска находятся в вашем поисковом домене по умолчанию. (Также linkstoсообщает счетчик, как и все поиски.)

В дополнение к викитексту он выполняет поиск внутри включенного содержимого страниц.

сначала, а затем просканируйте содержимое. [20] Например

linksto:"Mozart and scatology"

сообщит список из 300 статей, которые ссылаются на него, как и « Какие ссылки здесь ». Но Моцарт и копрология на самом деле связаны только 15 раз авторами контента . Остальное связано с Моцартом и копрологом из " Вольфганга Амадея Моцарта" на нежелательных страницах. Шаблон нужен, но ссылка "ссылки на", вероятно, нет. [21]

Уловка, чтобы обойти это, и просто найти все авторские ссылки на статью - это поиск по регулярному выражению:

: insource:"pagename"   insource:/\[\[ *[Pp]agename *[]|]/

Этот поиск будет находить статьи только потому, что initial : ограничивает начальный домен поиска пространством статьи, независимо от того, как будет установлен ваш домен поиска по умолчанию. Он найдет все ссылки во много раз быстрее, чем простое регулярное выражение, потому что первый insourceтермин мгновенно создает уточненный домен поиска, который устанавливает правильные ограничения для поиска регулярного выражения. Регулярное выражение может учитывать вариации, найденные в вики-тексте, разрешенные разрешениями вики-ссылок: 1) метасимвол*позволяет использовать "ноль или более" пробелов до и после заголовка, и 2) [класс символов] в начале позволяет использовать нестрогие заглавные буквы для первого символа в любом имени страницы, и 3) класс символов в конце находит ссылка, помечена ли она с помощью вертикальной черты | или закрывается квадратной скобкой] вики-ссылки.

Ссылки на включения обрабатываются hastemplate .

Сортировка результатов

Общая оценка страницы определяет ее место в результатах поиска.

Лучше матч поднимет счет.

  • Совпадение нулевого раздела (отведение-сечение) лучше, чем пронумерованное.
  • Соответствие заголовка или заголовков лучше, чем совпадение раздела лида.
  • Чем больше поисковый запрос, тем лучше.
  • Прямое совпадение лучше, чем ограниченное.
  • Когда несколько слов встречаются во многих документах, лучше выбрать порядок совпадения .
  • Более высокая сетка - больше ссылок на страницу и со страницы - лучше.

При этом могут учитываться «важность» Википроекта и оценка качества статьи. Учитываются поиск со страницы, ее категории, викиданные и географическое положение.

Зная это, вы, возможно, сможете лучше найти, например, полузабытый заголовок. Использование intitle может слишком сильно исказить результаты из-за порядка слов. Используйте их в поиске слов и зависите от рейтинга страницы. Заглавные слова появятся вверху.

Чтобы получить представление о том, как может работать CirrusSearch, см. Mw: Search / Old # Search_Weighting_Ideas .

Чтобы отсортировать результаты поиска по дате, используйте параметр « предпочесть» . Чтобы отсортировать результаты поиска по использованию шаблона, используйте boost-template .

Скорее

Параметр morelikeпоиска отображает все статьи, которые сравниваются по частоте и длине слова с одной или несколькими заданными статьями.

morelike: pagename | pagename2 | ... | pagename50
  • Кавычки не нужны, и интервал не важен.
  • Используются заглавные буквы, и неправильно написанные имена страниц автоматически завершаются ошибкой.
  • Перенаправления принимаются; используется название целевой статьи.
  • имя страницы с пространством имен молча терпит неудачу.
  • wp: ярлыки не работают. (Быстрое перенаправление из области статьи в область проекта.)
  • Никакие другие параметры поиска или другие термины не допускаются вместе с morelike .

Morelike вычисляет поиск по нескольким словам .

: word1 word2 ... wordN

Посмотрите, как они выделены во фрагменте.

Morelike ищет заданное имя (имена) страницы в индексе поиска, создает агрегат по частоте слов и агрегат по длине слова из всех слов и вычисляет поиск по нескольким словам на основе этих, а также внутренних переменных параметров. Это дорогой поиск.

Например, вы ищете

morelike:William H. Stewart

затем выберите имя из этого списка и добавьте его

morelike:William H. Stewart|Leroy Edgar Burney

затем добавьте другие имена, пока у вас не будет пяти входных имен страниц. Затем вы можете начать слепую настройку этого автоматически вычисляемого запроса типа morelike , говоря следующее: Сделайте вычисляемый запрос

  • минимум пять слов
  • минимальная длина слова семь
  • минимальная частота слов три
  • Не более четырех из пяти названий страниц должны иметь термин.
  • По крайней мере, три из них должны иметь срок.

Затем, скажем, вы изменяете количество имен страниц ввода, содержащих слово, до двух (из пяти). https://en.wikipedia.org/w/index.php?title=Special:Search&profile=default&search=morelike:ant%7Cbee%7Cwasp%7CEusociality%7Ctermite&fulltext=Search&cirrusMtlUseFields=ylt_Fields&limit=ytres&limit=ytres&limit=sprofile=ylt_sprofile=subs&ciropen

Он также может находить похожие статьи, основываясь только на заголовке, или только по заголовкам, или только по ведущему разделу.

  • & cirrusMtlUseFields = да & cirrusMltFields = название
  • & cirrusMtlUseFields = yes & cirrusMltFields = заголовки
  • & cirrusMtlUseFields = да & cirrusMltFields = текст
  • & cirrusMtlUseFields = да & cirrusMltFields = вспомогательный_текст
  • & cirrusMtlUseFields = yes & cirrusMltFields = open_text
  • & cirrusMtlUseFields = да & cirrusMltFields = все

Результаты поиска зависят от внутренних ( Mlt, более того) переменных, задаваемых через URL-адрес, относительно того, по каким словам искать:

Например, вот как выглядит адресная строка (перевернутая панель поиска) для более похожего поиска разделов для лидов в двух статьях по сравнению с другими разделами для лидов : 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 = open_text Обратите внимание на конец, содержащий два добавленных параметра URL, которые активировали возможность morelike .

Предпочитаю недавние

Вы можете отсортировать результаты поиска по дате.

  • prefer-recent:
  • prefer-recent:recent,boost

Он идет в любом месте запроса. По умолчанию он принимает 160 дней как «недавний» и применяет формулу надбавки к 60% балла. Формула - это не обычный множитель, это экспоненциальный множитель, потенциально гораздо более мощный. Это позволяет ему работать там, где значение по умолчанию для «недавних», вместо 160 дней, может составлять всего 9 секунд. Если ваше «последнее» означает 9 секунд, используйтеprefer-recent:0.0001

Например, если вас интересует только относительно небольшое количество статей, которые изменились за последнюю неделю, используйте вместо этого 7. Это работает так: все статьи старше семи дней получают только половину ускорения, а все статьи старше 14 дней - вдвое меньше, и так далее.

Повышение больше обычного множителя, оно экспоненциальное. Коэффициент, используемый в экспоненте, - это время с момента последнего редактирования. Чем больше времени прошло с момента последнего редактирования, тем меньше повышение. Формула e −t , где t - либо интересующий интервал в днях, либо интервал. Я не знаю. ??

Добавить prefer-recent в начало поиска. Это повысит результаты поиска для недавно отредактированных статей. Общая форма

prefer-recent:proportion_of_score_to_scale,half_life_in_days

Этот параметр принимает два аргумента, разделенных запятыми, что позволяет изменять настройки по умолчанию. По умолчанию это будет масштабировать 60% оценки экспоненциально со временем, прошедшим с момента последнего редактирования, с периодом полураспада 160 дней. Так что по умолчанию prefer-recent:0.6,160.

Это можно изменить для увеличения веса:

prefer-recent:0.8,360

или уменьшите его:

prefer-recent:0.4,10

Пропорциональность_скоре_в_ шкале должна быть числом от 0 до 1 включительно. Half_life_in_days должно быть больше 0, но допускает десятичные точки, и поэтому очень хорошо работает для сортировки времени редактирования, если оно очень мало.

Например prefer-recent:0.6,0.0001, период полураспада составляет 8,64 секунды.

В конечном итоге это будет включено по умолчанию для Викиновостей.

Буст-шаблоны

Boost-templates : "" добавляет вес страницам с данным шаблоном или шаблонами (множественное число). Использование этого параметра поиска отменяет обычную функцию повышения шаблона поиска. Не используйте этот параметр поиска без аргумента увеличения веса, если вы не хотите отключить функцию взвешивания шаблона для поиска.

Общий формат

boost-templates:"Template:pagename|parameter Template:pagename|parameter"

Видите ли, обычно системное сообщение [22] под названием MediaWiki: cirrussearch-boost-templates повышает оценку следующих полных имен: Шаблон: Избранная статья | 200% Шаблон: Лучшее изображение | 200% Шаблон: Featured_sound | 200% Шаблон: Featured_list | 175% Шаблон: Good_article | 150%. Это настоящие имена шаблонов и фактическое повышение. Они заменяются при использовании буст-шаблонов .

Например, поиск по запросу "phenom" И "лекция" с шаблонами Search link и regexp, имеющими весовую оценку страниц, на которых они находятся, умноженную на 1,5 и 2,25 соответственно, игнорируя все остальные шаблоны (прекращая добавление любой оценки для любого другой шаблон):

phenom lecture boost-templates:"Template:search link|150% tlusage|225%"

Boost-templtes отличается от hastemplate тем, что

  • пространство имен по умолчанию
  • грамматика. Boost-templates имеет форму множественного числа и использует тире между словами.
  • синтаксис. Буст-шаблоны требуют кавычек.
  • функция. Hastemplate - это фильтр, а буст-шаблоны - нет; это только меняет счет.
  • В Boost-шаблоне есть параметр для управления накатом .

Если вы просто хотите, чтобы результаты поиска включали только страницы с определенными шаблонами, используйте hastemplate один или несколько раз вместо этого, чтобы отфильтровать страницы, которые этого не делают. В противном случае выберите множитель, аналогичный показанному выше системному сообщению. Умножение оценки страницы на 10 выполняется на 1000% и, вероятно, замаскирует все другие весовые функции, такие как «когда поисковые слова совпадают в заголовке», мало повлияет на представление результатов поиска и не рекомендуется, потому что это влияет на порядок всего списка.

Либо hastemplate, либо boost-шаблоны можно использовать в любом месте запроса, каждый из которых имеет другие термины по обе стороны от него. - это термин в запросе, который может идти в любом месте запроса, имея другие термины по обе стороны от него.

Ошибки

Актуальные проблемы в CirrusSearch :

  • T73123 : имя страницы не может содержать двойные кавычки: incategory или intitle
  • allНапример, символ тильды ~ не должен влиять на параметр ~all:hephalump. Мало того, что ~ вначале не выполняет навигацию , но и не создает страницу, и все это без вмешательства в аргументы пространства имен, но также вмешивается в псевдо-пространство имен «все».
  • T124272 Использование И и ИЛИ в одном запросе не работает должным образом
  • Поиск по фразе может охватывать знак числа #, но не символ звездочки *. Это непоследовательно.
  • T119806 cm2 не находит , не находит , где верхний индекс являются символами юникода.cm2m3m3
  • Диалоговое окно профиля поиска сложно вытеснить. Он продолжает отображаться даже после того, как профиль поиска изменен на значение по умолчанию.

Обходные пути

  • Используйте AND между двумя фразами, например "one two" AND "three four", чтобы избежать шести нежелательных статей, относящихся к двойным кавычкам "знак".

Поиск проблемы

  • https://test.wikipedia.org/
  • Измените серверную часть, добавив к URL-адресу суффикс: &srbackend=LuceneSearchили&srbackend=CirrusSearch
  • Примечания к выпуску


Индексированный поиск

Сначала все страницы сканируются поисковой системой . Вся вики рассматривается как один «полный текст», хранящийся в отдельной базе данных, созданной только для поисковых индексов. Это похоже на указатель в книге, но практически каждое слово и каждое число индексируются на каждой странице. [23]

Поскольку каждое слово в предварительно созданном поисковом индексе уже указывает на страницы, которые его содержат, почти любое слово, которое вы ищете, на самом деле является поиском отдельной записи в этом индексе. (В определенной степени это верно и для фраз.)

Существуют отдельные индексы, обновляемые для

  • названия
  • визуальный контент
  • wikitext
  • шаблоны

Все слова, выводимые каждым шаблоном, индексируются для всех страниц, на которые они включены. Другими словами, любой текст, включенный шаблоном, индексируется на его целевой странице. [24] Выполнение «индексного поиска» практически не занимает времени. Они дешевы и многочисленны.

Подготовка и поддержка поисковых индексов выполняется в фоновом режиме почти в реальном времени . Как только вы сохраните страницу, через несколько секунд вы сможете найти только что внесенные вами изменения. Для шаблонов, которые включены на множество страниц, распространение этих изменений на все записи индекса страниц может занять минуту.

Индексы основаны на буквенно-цифровых символах; они не хранят информацию о не буквенно-цифровых символах. Хотя индексированный поиск может запрашивать знаки препинания, скобки, математические и другие символы клавиатуры, они игнорируются без предупреждения. Теперь вы понимаете, почему поисковые индексы такие быстрые.

Каждый поиск по регулярному выражению нуждается в индексированном поисковом фильтре, чтобы предоставить им поисковый домен под10 000 страниц.

Индексированный поиск

Базовый индексированный поиск

  • ищет только место для статьи. Это по умолчанию.
  • соответствует только буквам и цифрам . Обычно это не проблема.
  • работает практически одинаково для всех общедоступных поисковых систем. Обычно вы можете найти нужную информацию в верхней части результатов поиска, полагаясь на программное обеспечение для ранжирования страниц.
  • дает много результатов поиска. Вы в значительной степени полагаетесь на правила ранжирования страниц. Затем вы уточняете результаты поиска на основе самых верхних страниц. Это делается с помощью фильтра not , что обозначается знаком минус, прикрепленным к началу нежелательного слова, чтобы отфильтровать шум попадания страницы, который вы не могли предсказать. Это первое, чему вы научитесь.
  • представляет собой «агрессивное сопоставление», включающее как можно больше страниц путем сопоставления всех форм каждого введенного вами слова.

В принципе, зачем кому-то учиться «как искать», если это всего лишь ключевые слова, а они, очевидно, известны?

Расширенный поиск по индексу

  • нацелен на определенные страницы, а не на поиск общей информации.
  • не требует ранжирование страниц на все и не может принимать мириады результатов.
  • Заботится о количестве обращений к странице, отображаемых в правой части страницы результатов поиска.

Регулярные выражения

Регулярные выражения - это специальный, но небольшой язык для определения последовательностей символов, определяющих шаблон поиска. Регулярное выражение для краткости называется «регулярным выражением».

Поиск по регулярному выражению фактически просматривает каждую страницу в домене поиска посимвольно. Напротив, индексированный поиск фактически запрашивает несколько записей из базы данных, которая поддерживается отдельно от базы данных вики, и дает почти мгновенные результаты. Поэтому при использовании insource: // (регулярного выражения любого типа) вам следует подумать о создании других условий поиска, которые будут максимально ограничивать область поиска регулярных выражений. Есть много условий поиска, в которых используется индекс, что мгновенно обеспечивает более точный поисковый домен для / regexp /. В порядке общей эффективности:

  • insource: "" в кавычках, дублирование регулярного выражения, кроме без косых черт или escape-символов, является идеальным.
  • intitle , incategory и linksto - отличные фильтры.
  • hastemplate: очень хороший фильтр.
  • " word1 word2 word3 ", с кавычками или без них, хороши.
  • namespace: является расширенным фильтром, но практически бесполезен для регулярных выражений, за исключением того, что он может позволить медленному поиску регулярных выражений продлить жизнь.

Оператор префикса особенно полезен с {{FULLPAGENAME}} в шаблоне поиска, поисковой ссылке или поле ввода , потому что он автоматически ищет любые подкаталоги. Чтобы разработать новое регулярное выражение или уточнить сложное регулярное выражение, используйте prefix:{{FULLPAGENAME}}на странице образец целевых данных.

Поиск термины , которые не повышают эффективность поиска регулярных выражений являются страницы взвешивания операторов: morelike , подталкивание-шаблон , и предпочитает, последнее время . Основная задача поиска по регулярным выражениям - сначала ограничить область поиска индексированным поиском, использующим фильтры , а не такие «запросы поисковой машины». Затем он фактически просматривает каждую страницу символ за символом. Он исследует каждую страницу узко определенного поискового домена.

Базовый поиск по регулярному выражению

  • может точно формировать любую символьную строку с помощью регулярного выражения.
  • исключает как можно больше страниц.
  • заключает каждое регулярное выражение в двойные кавычки, чтобы отключить метасимволы.

Расширенный поиск по регулярному выражению

  • использует метасимволы.
  • выгоды от разработки в песочнице.

Регулярное выражение может представлять собой тысячу слов, буквально соответствующих каждому символу, или несколько символов языка метасимволов регулярного выражения, или любую их комбинацию. Он может соответствовать любому символу с любой клавиатуры.

Таким образом, регулярное выражение может обеспечивать точность, но оно медленное (дорогое) и несет ответственность за добавление фильтров для увеличения скорости (снижения затрат).

Разработка поиска по регулярному выражению практически всегда требует проб и ошибок, итеративного процесса разработки, поддерживаемого {{ regex }} и {{ template usage }}. Самые простые фильтры для добавления - это пространство имен, префикс или копия регулярного выражения без удаления косой черты. Все такие фильтры используют индекс для поиска, и это намного быстрее. Это одна из первых вещей, которые мы узнаем о поиске по регулярным выражениям: сопровождать их фильтрами. [25]

Размер поискового домена

  • добровольные, а не автоматические
  • защитить доступность регулярного выражения
  • поддерживать открытое использование наиболее расширенного поиска возможных
  • помочь избежать тайм-аута HTML, который убьет поиск
  • создать {{ regex }} песочницы для разработки
  • внимательны, используют только необходимую им вычислительную мощность

Запуск простого регулярного выражения не может повлиять на производительность Wikipedia: но без применения к ним базовых методов поиска поиск по регулярному выражению может ограничить других пользователей, выполняющих поиск по регулярным выражениям, и стать проблемой разногласий.


all: insource "вопросы подссылки" Сколько это страниц в вики? ОК.подссылки]]? "/

Это покрывает достаточно регулярных выражений, чтобы начать отвечать на вопросы о содержимом вики-текста в вики. Regex - это использование метасимволов для создания шаблонов, соответствующих любым буквальным символам . Шаблон, который вы дадите, будет соответствовать цели, символ за символом. Чтобы некоторые позиции совпадали с несколькими возможностями, необходимы метасимволы, и они взяты из тех же символов клавиатуры, что и в вики-тексте.

Метасимволы

Левая фигурная скобка является метасимволом, и поэтому данный шаблон регулярного выражения должен «экранировать» любую открывающую фигурную скобку \{в целевом " {", намереваясь соответствовать шаблону в викитексте. Весь целевой текст (весь викитекст) является буквальным текстом, но мы можем использовать обратную косую черту для «экранирования» метасимволов регулярного выражения, \. \? \+ \* \| \{ \[ \] \( \) \" \\ \# \@ \< \~ когда мы называем их буквальными символами в интересующем нас викитексте. Поиск будет игнорировать обратную косую черту, если она не имеет смысла или не нужна: \nсовпадения nи т. Д. Поэтому, хотя вам не нужно использовать escape-последовательность &или >или }, это безопасно. Ненужная обратная косая черта не приведет к сбою вашего шаблона, но то, что будет использовать определенные символы буквально - [ ] . * + ? | { ( ) " \ # @ < ~ .

  • [0-9]будет соответствовать любой цифре, [a-y]любой строчной букве, кроме z, [zZ]любой z (и так далее). Таким образом, квадратные скобки означают «класс символов».
  • Точка .будет соответствовать новой строке или любому символу в целевой позиции

Количество последовательных цифр или символов, совпадающих с этими символами, выражается следующим за ними метасимволом количественной оценки :

  • * означает ноль или больше
  • + означает один или несколько
  • ? означает ноль или один

персонажа, который следует за ним. Количество совпадений также может быть указано в диапазоне, a{2} a{2,} a{2,5}точно соответствует 2, 2 или более или 2–5 a. Фигурные скобки означают «квантификатор».

  • Скобки - это механизм группировки, поэтому мы можем количественно определить не только предыдущий символ, и поэтому мы можем установить границы для набора альтернативных совпадений. (См. Альтернативный вариант ниже.)
  • Кавычки - это механизм выхода, например квадратные скобки или обратная косая черта.
  • Угловые скобки обозначают цифры, а не цифры. Скажем <5-799>, чтобы сопоставить 5–799 в одной-трех позициях. Сравните это с альтернативой: [0-9]{1,3}можно сопоставить единицы, десятки или тысячи как 0-999, 00-999 или 000-999.
  • Тильда ~смотрит вперед и отрицает следующий символ. Другими словами, если шаблон совпадает в этой позиции, то не совпадает с ним, если следующий символ является ~символом .

Искать одиночку небезопасно, @потому что этот единственный метасимвол соответствует буквально всему ; вы можете использовать \@для поиска всех страниц, на которых есть символ «at».

Аналогичным образом найдите все страницы, которые используют номер ноль, поиск возвращает ошибку для поиска одиночного 0 ; используйте один из трех механизмов эвакуации для 0или @.

  • "0"
  • \0
  • [0]

или найдите более крупный узор вокруг нуля, который вы ищете. Хотя ноль не является метасимволом, эти механизмы выхода работают.

Остальная часть регулярного выражения вики довольно проста. Персонажи обозначают самих себя, если они не являются метасимволами. Если они являются метасимволами, они экранируются, если они не входят в класс символов.

Классы персонажей

Класс символов означает «буквальные символы» во множественном числе. Это означает «буквальный», и поэтому обычно вам не нужно экранировать символ метасимвола в классе символов; они уже выведены из квадратных скобок. Разделители / косая черта / означают, что мы, конечно, должны избегать любого символа косой черты, даже внутри класса символов. Никакой другой символ в классе символов, кроме косой черты, всегда не требует экранирования; а потому ]и -имеют особое значение (метасимвол) к классу символов, они должны быть экранированы иногда: те два также буквальными (сбежавшие) метасимволы , если они первый символ , но в противном случае они должны быть также, как тир, экранировать: только обратная косая черта-escape работает как механизм escape в символьном классе.

Класс символов может использоваться для экранирования метасимволов, поэтому [-|*\/.{\]]или []|*\/.{\-]означает «либо тире ИЛИ вертикальная черта, ИЛИ звездочка, ИЛИ косая черта, ИЛИ точка, ИЛИ левая фигурная скобка или правая квадратная скобка». Так [][.?+*|\/{}()\-]"или [-[.?+*|\/{}()\]]"работает, чтобы найти все метасимволы в викитексте, все, кроме обратной косой черты. Ни [\]ни [\\]позволяет нам использовать ИЛИ буквальную обратную косую черту. Для ИЛИ символа обратной косой черты существует чередование с шаблоном \\для обработки этого случая. (См. ниже.)

Класс символов понимает «инверсию» самого себя, [^abc]это «не a, b или c». Класс символов обозначает одиночный символ в целевой позиции, поэтому на самом деле это не инверсия набора, а скорее НЕ символ.

В настоящее время классы символов ограничены расширением до четырех символов, поэтому [0-9] потребует трех поисков [0-3], [4-7] и [8-9]. По алфавиту потребуется семь поисков. Это гарантирует, что регулярное выражение будет работать без перегрузки поисковой системы. См. Задание T106685 .

Обратите внимание, что такие конструкции, как \d(цифра) или \a(алфавитный), используемые в некоторых других реализациях регулярных выражений, не принимаются.

Чередование

Наконец, чередование - это класс регулярных выражений, который содержит альтернативные возможности для совпадения, скажем, AA, BB или CC:

  • "AA" ИЛИ "BB" ИЛИ "CC" для поиска Word на всей странице
  • AA|BB|CC для регулярного выражения искать двухсимвольную позицию
  • (AA|BB|CC)где используется в более крупном регулярном выражении, потому что чередование находит самый длинный шаблон, и поэтому круглые скобки определяют эту границу, но это граница, которую вам не нужно делать, если чередование представляет собой весь шаблон регулярного выражения.

Заметки

  1. ^ Поисковый домен некоторых пользователей по умолчанию - это все пространства имен. В таких случаях, как поиск с использованием простого регулярного выражения, поисковая система защищает себя, ограничивая все поиски по регулярным выражениям. Простое регулярное выражение, которое просматривает миллионы страниц, может занять более двадцати секунд и даже может стоить вам тайм-аута HTML. В это время разрешено очень мало других поисков по регулярным выражениям. Всегда используйте фильтр с регулярным выражением.
  2. ^ Для поиска знака равенства необходимо использовать регулярное выражение. Как и в случае с любым шаблоном, используйте {{ = }} или|1=для передачи знака равенства любому параметру, даже метке ссылки.
  3. ^ Продвигающиеся редакторы, которые начинают поиск других страниц Википедии, могут время от времени устанавливать в качестве домена поиска по умолчанию ( Special: Search Advanced ) значение all . Настройка поиска на все - наиболее вероятный сценарий «установил и забыл». Поскольку это включает в себя место для статьи, обычные результаты сопоставимы.
  4. ^ В отличие от других данных, которые оценивают рейтинг страницы, частота слов и данные о местоположении могут постоянно обновляться в индексе. Для каждого слова в вики индекс хранит список имен страниц, где это слово может быть найдено. Наряду с названием страницы также сохраняются расположение и количество слов. Apache Lucene является индексатором и поддерживает данные; он использует термин частотный алгоритм. О том, как это делается, см. Сходство TFIDF .
  5. ^ В отличие от поисковых индексов, данные о рейтинге страниц обновляются не сразу. Когда количество входящих ссылок изменилось более чем на 20%, то оно обновляется.
  6. ^ {{search link}} всегда производит полностью определенные запросы, даже если не задано пространство имен, потому что по умолчанию используется пространство статьи.
  7. ^ Фраза будет занимать пробелы, если она не содержит маркера. Фраза может распространяться на элемент упорядоченного списка, но не на элемент неупорядоченного списка. Другими словами, он может занимать знак числа #, но не символ звездочки *. Звездочка имеет для анализатора особое значение. Он используется для внесения элемента в неупорядоченный список, а также используется в качестве модификатора при поиске.
  8. ^ См. «Токенизатор» ElasticSearch, разработанный CirrusSearch.
  9. ^ Построение, как и ранжирование страниц, - это всего лишь компьютерный алгоритм, который время от времени требует корректировки.
  10. ^ CirrusSearch использует kstem для пакета стеммера согласно T56022 .
  11. ^ Вы также можете использоватьпараметр insource, чтобы отключить остановку . Также обратите внимание, что в T113838 подробно описана эта связанная ошибка: когда для слова отключено основание, страницы, перечисленные в результатах поиска, являются правильными (у них нет вариантов только с основанием, все они содержат данное слово), но любые стебли в обрезанном виде подсвечиваются неправильно.
  12. ^ Это нельзя доказать на примере поиска на этой странице, но он будет работать на другой странице, не содержащей этот пример. Это потому, что совпадение, выделенное здесь жирным шрифтом в качестве доказательства, предпочитает правильный порядок. Это можно доказать, поместив целевой текст на другую страницу, а затем изменив инициируемый здесь запрос (на странице результатов поиска) на эту страницу.
  13. ^ Пространство имен поиска соответствует первому параметру запроса. Это согласуется с его использованием в навигации, вики-ссылках, включении и именовании страниц, где оно всегда является первым словом в поле.
  14. ^ Чтобы увидеть все пространства имен, перейдите на страницу результатов поиска и нажмите «Дополнительно». Пространство имен по умолчанию отображается в скобках.
  15. ^ Полный текст каждого слова в вики плюс каждое слово в каждом загруженном вложении все вместе индексируются в базе данных поиска. CirrusSearch может анализировать и индексировать тысячи форматов.
  16. ^ Нельзя использовать символы в названиях страниц# < > [ ] | { }.
  17. ^ Всегда проверяйте строку поиска на предмет ее обозначения. Активация панели «Дополнительно» может отображать домен поиска по умолчанию, а поле поиска очень очевидно с пространством имен или префиксом. Один из способов сделать это - щелкнуть по домену поиска в строке поиска вместо того, чтобы нажимать кнопку поиска. Единственный раз, когда это не работает, - это при изменении поисковых доменов на вкладке «Дополнительно»: после их изменения необходимо нажимать «Поиск», а не «Дополнительно».
  18. ^ Чтобы использовать deepcat в качестве параметра поиска, установите гаджет, который автоматически производитincategory:pagename1|pagename2|...|pagename70. Чтобы увидеть количество подкатегорий, чтобы увидеть, было ли их больше или меньше 69, либо перейдите к fwd и bwd в истории браузера, либо посмотрите исходный HTML-код страницы результатов поиска, атрибут <title>
  19. ^ В вычислениях обычно разделяют / регулярное выражение / косой чертой.
  20. ^ На самом деле поиск не выполняется постранично, но индекс для вики создается постранично таким образом.
  21. ^ Делая такие вещи, как добавление шаблона навигации Моцарта на каждую страницу о Моцарте [[wp: wikignomes |]], укрепляйте инфраструктуру вики. С другой стороны, авторство пишет текст страницы, по одной странице за раз. (Вы не можете удалить нежелательные ссылки с помощью-hastemplate:"Wolfgang Amadeus Mozart".
  22. ^ Системное сообщение - это значение переменной операций MediaWiki. Он может состоять из фрагмента обычного текста, текста вики, CSS или Javascript. Сообщение используется для настройки поведения MediaWiki, особенно относится к пользовательскому интерфейсукак показано на читателей, но итом числекак он сам выглядит как простое сообщение, и это для каждого языка и языка.
  23. ^ При поиске вы не просматриваете страницы, а ищете запись в индексе (базе данных). Все содержимое всегда «известно» и хранится в индексах. Поэтому, когда вы читаете «поиск по пространству имен» или «поиск по включенному контенту на странице», вы можете мысленно заменить «поиск» на «поиск по индексу».
  24. ^ Об этом также говорится, что «шаблон на странице раскрывается до того, как будет выполнен поиск страницы», но это всего лишь абстракция.
  25. ^ Поскольку существует 41487606 пользователей, а поиск по регулярному выражению с хорошей фильтрацией занимает всего миллисекунды, в то время как простое регулярное выражение для всей вики может занять десятки секунд, преимущества добавления фильтра огромны.
=== Разработка регулярных выражений в объявлении специального песочница ===

Регулярные выражения - это небольшие компьютерные программы, поэтому для поиска по регулярным выражениям характерно то, что они должны быть написаны при изучении целевых данных и протестированы для достижения их потенциальной точности и полноты. Однако только некоторые из этих интенсивных поисков технически могут выполняться одновременно в базе данных. [1] Песочница минимизирует ваши следы и гарантирует, что вы никогда не будете запускать непроверенные регулярные выражения в каждом пространстве имен вики, даже если ваш поиск по умолчанию позволит вам это сделать.

Хотя обычный поиск, нацеленный на всю вики, будет выполняться быстро, поиск по регулярному выражению должен нацеливаться на как можно меньше страниц с использованием фильтров, чтобы работать быстро. Фильтр - это часть или весь запрос к базе данных . Фильтры включают:

  • слово (а) или фраза
  • название:
  • категория:
  • hastemplate:
  • префикс: (всегда в конце)
  • linksto:
  • пространство имен: (всегда в начале)
  • insource: "слово1 слово2"
  • insource: слово

Порядок не важен, потому что поиск оптимизируется программным обеспечением перед его запуском.

Чтобы настроить таргетинг только на одну страницу во время экспериментов или разработки поиска по регулярным выражениям, настройте таргетинг на fullpagename. В поле поиска воспользуйтесь фильтром . В поле редактирования (любого раздела страницы с целевыми данными) вы всегда можете просто написать, и оно «расширится» для вас до полного имени страницы. Несмотря на то, что Вы можете редактировать истории страницы, технически «страница истории» не страница (в базе данных), и поэтому {{}} FULLPAGENAME там будет указывать на версию базы данных ( а не его собственный рендеринг). По той же причине, вы не можете выполнить поиск на вики - текста страницы, которая уже не сохранен (в базе данных), хотя можно , конечно , изменить параметры поиска снова и снова без необходимости сохранять их .prefix:fullpagenameprefix:{{FULLPAGENAME}}

Fullpagename - это пространство имен: pagename . Зная это, вы можете настроить параметр Prefix. Хотя префикс может фильтровать до одной страницы, он может фильтровать до пространства имен, а также принимает начальную букву (буквы) набора имен страниц, если вы хотите уменьшить область поиска пространства имен.

В песочнице с регулярными выражениями используется специальная песочница, созданная путем редактирования любой страницы, содержащей целевые данные, и использования ее в качестве «песочницы» (а не редактирования для сохранения). Затем он развивается путем добавления ссылки поиска, которая включает insource: / regexp / с префиксом фильтра : {{FULLPAGENAME}} рядом.

Использование «песочницы» позволяет минимизировать занимаемую площадь за счет использования фильтров для ограничения области поиска. Как только ваш шаблон регулярного выражения отточен, вы увеличиваете область поиска. Поиск по регулярному выражению лучше всего запускать с фильтрами, а не в одиночку, даже если это отполированный rexexp.

Процедура песочницы

Вместо того, чтобы использовать поле поиска, где ввести знак равенства и вертикальную черту, а "кавычки вокруг фраз" - простой вопрос, проще всего использовать шаблон ссылки поиска на основе регулярного выражения - {{ regex }} или { { tlusage }} - на странице с демонстрационными данными, потому что тогда вы можете сосредоточиться на целевых данных там и на написании шаблона регулярного выражения. Это проще, если вы уже понимаете, как шаблоны «избегают» вертикальной черты и знака равенства. См. Раздел Help: Template # Parameters для получения других важных сведений.

Данная процедура представляет собой итеративный цикл чтения-оценки-изменения. Разработка регулярных выражений требует, чтобы вы изучали целевые данные при написании и переписывании их шаблона.

  1. Перейдите на страницу с экземплярами викитекста, которые вам интересны. Или создайте его самостоятельно и сохраните в базе данных, чтобы запрос нашел его.
  2. Откройте викитекст и введите {{ regex }} или {{ tlusage }}.
  3. Показать предварительный просмотр и активировать ссылку поиска. На странице результатов поиска обратите внимание на полужирный текст в каждом совпадении.
  4. Вернитесь в свой браузер. Измените регулярное выражение и выполняйте цикл до завершения. (Или не возвращайтесь, возможно, вы захотите изменить запрос в поле поиска.)
  5. Расширьте область поиска и проверьте точность этих результатов. Вы можете обрезать или увеличить число результатов , используя префикс: .

Caveat emptor : если вы измените цель для немедленного повторного тестирования, вам придется сохранить и очистить , но не, если вы просто измените регулярное выражение.


Примеры

В качестве специальной песочницы вы можете показать вики-текст такого раздела (уже сохраненный в базе данных), изменить некоторые шаблоны в вызовах шаблонов regex-search-link на этой странице, выполнить предварительный просмотр и увидеть что соответствует, когда вы нажимаете на вновь сформированную ссылку поиска регулярного выражения, и все это совершенно безопасно и без каких-либо изменений в базе данных.

Шаблон вызывает "1  фут / с ,2 кв. Фута ,3 м / с ,4 м * с-2 ,5 фут.с-2 ,6 ° C / Дж и7  J / C "появляются в вики-тексте этого раздела следующим образом:

  1. {{val|1|ul=ft/s|fmt = commas}}
  2. {{val|2|u=ft2}}
  3. {{val|3|u=m/s| fmt =commas }}
  4. {{val|4|u=m*s-2}}
  5. {{val|5|u=ft.s-2}}
  6. {{val|6|u=C/J}}
  7. {{val|7|ul=J/C}}

Обратите внимание, как | пронумерованы | вышеуказанные цели |, затем щелкните по ссылкам ниже.

В Q2 , обратите внимание , как программное обеспечение MediaWiki игнорирует пробелы вокруг параметров, но , как в 4 - м квартале то же программное обеспечение MediaWiki обрабатывает пробелы внутри параметров. Вопрос 2 можно было бы решить с помощью простого insource:val fmtпоиска, потому что «fmt» и «val» - это целые слова, а fmt редко можно увидеть отдельно от Val. Как насчет hastemplate:val insource:fmt?


Рекомендации

  1. ^ Узнайте, как поисковые запросы могут убить механизм CirrusSearch / ElasticSearch в Википедии.

Смотрите также

Шаблоны для поиска в Википедии

Ссылки на поиск

Ссылка поиска сохраняет запрос в ссылке , которая вас живые результаты поиска для этого хранимого поиска. Их можно найти на страницах пользователей и на страницах обсуждений. Используйте один, чтобы использовать полный набор функций поиска MediaWiki или функции внешних поисковых систем для пользователей, незнакомых с их параметрами поиска.

Один тип поиска ссылки является WikiLink со всеми возможностями поиска (поле поиска), и со стандартным синтаксисом WikiLink: . Таким образом, эта ссылка поиска будет (1) перемещаться : [[Special: search / Wales]] → Special: search / Wales или (2) search: → search / ~ Wales, если вы префикс ~ тильды. [[Special:Search/query| label]] [[Special:search/~Wales | search/~Wales]]

Все остальные поисковые ссылки создаются на основе шаблона, который будет строить URL вместо вики-ссылки. URL-адрес может, например, вызывать внешние поисковые системы для поиска в Википедии.

  • {{ Search link }} предлагает все возможности поиска (окно поиска), а также дополнительные параметры (URL) для комбинаций пространств имен, и где вы можете избежать ограничения 20 результатов на страницу, совместно используемого: {{search link | et al | ''label'' | ns4 | ns5 | limit = 123}}label .
  • {{ Regex }} - разработать расширенный поиск по регулярным выражениям. {{regex | \<--.*--> | label = Articles with comments missing the ! bang character | prefix=0}}Статьи с комментариями без знака! взрыв персонаж
  • {{ Использование шаблона }} - разработайте поиск по шаблону регулярного выражения и определите конкретные детали вызова шаблона. {{Template usage | Convert | \{{!}}C\{{!}}F | 0 | Articles that convert Celsius to Fahrenheit}}Статьи, переводящие градусы Цельсия в градусы Фаренгейта
  • {{ ShortSearch }} - создать три ссылки для поиска: {{ShortSearch | system operations research}}WP GWP G (поиск в Википедии, «Google» Википедии и поиск в Google)
  • {{ wpsearch }} - создать пять поисковых ссылок: {{wpsearch|collaborative search}}→ совместный поиск - поиск в Википедии | Поиск Google | Поиск Bing | DuckDuckGo поиск | Поиск Yahoo
  • {{ Ссылка для поиска в Викиданных }} - создает ссылку для поиска в Викиданных для описаний, сущностей, элементов, свойств и т. Д. → https://www.wikidata.org/w/index.php?search=Universe&title=Special:Search&fulltext=1

Поля поиска

  • {{Поле поиска }} - Простое окно поиска с возможностью выбора кнопки внизу или справа
  • {{ Префиксы поиска }} - поиск подстраниц нескольких страниц выполняется одновременно.
  • {{ Архивный баннер }} - для поиска в архивах. Он выполнен в виде баннера, как и многие другие архивные шаблоны .

Окна поиска составлены по <inputbox>тегам. См. Mw: Extension: InputBox .

Поиск по заголовку страницы

  • {{ Стандартный поиск }} - ссылка на результаты автоматического поиска по заданному запросу.
  • {{ В заголовке }} - поиск страниц, в названии которых есть заданные слова.
  • {{ Look from }} - поиск страниц, название которых начинается с заданного слова.

Для поиска с точными совпадениями, точными в верхнем и нижнем регистрах или в знаках препинания, см. Help: Searching § grep .

Другая помощь редактора Википедии

  • {{ Linksearch }} - поиск внешних ссылок, соответствующих URL-адресу.
  • {{ dabsearch | term }} - Внешний инструмент для поиска заголовков страниц, содержащих в скобках; полезно для Википедии: исследование значений неоднозначности(term)
  • {{ Поиск в справочной службе }} - панель навигации со списком ссылок на страницы Google, специализированная для поиска, например, страниц пользователей, деревенского насоса и т. Д .; полезно для Википедии: задачи службы поддержки
  • {{ Spamsearch }} - ищет на страницах пользователей распространенный спам, например «мы обслуживаем», «ведущий производитель» и т. Д.

Смотрите также

  • Помощь: поиск
  • Категория: Шаблоны поиска
  • MediaWiki: Расширение: InputBox § Общий синтаксис - как создать собственное окно поиска с помощью<inputbox>...</inputbox>