Инструменты пользователя

Инструменты сайта


ru:search

Поиск

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

Синтаксис

Обычно «ДокуВики» использует поиск с логическим «И». То есть будут использоваться все слова, которые вы введёте в запросе. Поиск всегда регистронезависим.

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

Слова, которые нужно исключить (-)

Вы можете поставить минус «-» непосредственно перед словом, чтобы исключить из поиска страницы, содержащие это слово. Например запрос [ dokuwiki -plugin ] вернёт страницы, содержащие слово «dokuwiki», но не содержащие слово «plugin».

Вы можете использовать минус не только для слова, а также и при частичном поиске, поиске целой фразы или при поиске с использованием пространства имён, как описано ниже. Например, вы можете использовать следующий запрос: [ -"эту фразу не нужно искать" ], чтобы исключить из поиска эту фразу.

Частичное совпадение (*)

Вы можете осуществлять поиск по части слова, добавив для этого символ «*» в начале или в конце слова. Например запрос [ wiki ] вернёт только «wiki», но [ *wiki ] также соответствует и «DokuWiki» (совпадение по суффиксу). а также можно использовать [ doku* ] (совпадение префикса) и [ *okuwik* ] (частичное совпадение).

Помните, что «*» не является шаблонным символом. Нельзя использовать его внутри слова, т. е. [ doku*iki ] ничего вам не найдёт (даже эту статью).

Поиск фразы ("")

Вы можете искать целую фразу, просто поместив её в двойные кавычки. Например: [ "installing dokuwiki" ].

Поиск внутри пространства имён (@)

Также вы можете искать нужную вам информацию в заданном пространстве имён. Используйте префикс «@» («собака») или «ns:» перед ним. Чтобы исключить из поиска пространство имён — «^» («крышечка») или «-ns:».

Например, [ dokuwiki @wiki ^wiki:docs ] будет искать слово «DokuWiki» внутри пространства имён «wiki», но не «wiki:docs». Аналогично будет действовать запрос [ dokuwiki ns:wiki -ns:wiki:docs ].

Оператор ИЛИ (|)

По умолчанию «ДокуВики» использует логическое И, но можно использовать и логическое ИЛИ, вставив «|» (вертикальную черту) или «or» (английское «или») в качестве разделителя частей запроса. Например, запрос [ plugin | template ] найдёт страницы, которые содержат хотя бы одно из двух слов: «plugin» или «template». Аналогично действует запрос [ plugin or template ]

Помните, что логическое ИЛИ имеет более низкий приоритет? чем И (используемое по умолчанию). Поэтому запрос [ dokuwiki plugin | template ] соответствует запросу с группировкой [ (dokuwiki plugin) | template ], а не [ dokuwiki (plugin | template) ]. Группировка описана ниже.

Группировка в запросе ()

Можно группировать части поискового запроса, используя круглые скобки «()». Скобки используются для повышения приоритета операций внутри них.

Например, запрос [ dokuwiki -(plugin | @plugin) ] будет искать страницы, содержащие слово DokuWiki, но не содержащие слова plugin и не находящиеся в пространстве имён plugin.

Быстрый поиск

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

OpenSearch

OpenSearch в «Файрфоксе»

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

Ниже приведена инструкция по добавлению поискового плагина в «Файрфокс» (в других браузерах это скорее всего делается примерно также):

  1. откройте страницу вашей вики в браузере;
  2. кликните на маленькую стрелку в левой части строки поиска;
  3. Выберите «Добавить „DokuWiki“»1).

Справочная информация о поисковом индексе

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

Каждая страница содержит маленькую невидимую картинку (webbug), обращение к которой, при необходимости, инициирует обновление индекса.2) (Т. е., если дата последнего изменения страницы меньше даты последнего обновления индекса.)

Индекс состоит из файлов с названиями page.idx, w[n].idx и i[n].idx, размещённых в папке index. w[n].idx содержит список всех слов (кроме слов-исключений) длинны n байт3), встречающихся на страницах вики. Для каждой строки из w[n].idx есть соответствующая запись в i[n].idx файле, которая содержит ссылки на страницы в формате pn*freq. pn — это номер строки в файле page.idx, а freq показывает количество вхождений. Ссылки на разные страницы разделяются двоеточием.

Индексатор использует файлы слов-исключений, по одному для каждого языка, содержащие списки особо употребительных слов, которые не следует индексировать (например «the» в английском). Поиск по таким словам не вернёт ничего. Эти файлы размещаются в языковой папке «ДокуВики» по адресу <dokuwiki>/inc/lang/<language>/stopwords.txt и вы можете самостоятельно их редактировать.

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

Перевод соответствует оригинальной статье от 02.11.2009 13:52

1)
Название может отличаться, если вы переименовали свою вики.
2)
Помните, что т. н. webbug используется также и для других целей. См. forum.dokuwiki.org/post/3116.
3)
В кодировке UTF-8, используемой «ДокуВики», символ может занимать более одного байта.
ru/search.txt · Последние изменения: 2017-10-21 02:26 — Aleksandr