Wyszukiwanie jest wykonywane za pomocą pola Wyszukiwania z górnego wiersza (o ile używany jest szablon domyślny).
Podstawowym sposobem wyszukiwania DokuWiki jest iloczyn loigiczny (słowo1 AND słowo2). Oznacza to, że zostaną wyszukane strony ze wszystkimi słowami użytymi w pytaniu. Wyszukiwanie jest zawsze niewrażliwe na wielkość znaków.
Zaawansowana składnia wyszukiwania DokuWiki została opisana poniżej. Wszystkie reguły mogą być łączone ze sobą. Będziemy w tej sekcji używać nawiasów kwadratowych [ … ]
do wskazania znaków wpisanych do zapytania.
Możesz wpisać myślnik -
bezpośrednio przed słowem kluczowym by wykluczyć strony zawierające to słowo z wyników wyszukiwania. Na przykład zapytanie [ dokuwiki -plugin ]
odnajdzie strony zawierające “DokuWiki” ale nie zawierające “plugin”.
Możesz użyć skłądni -
nie tylko ze słowem kluczowym, ale również przy częściowym dopasowaniu, wyszukiwaniu frazy, wyszukiwaniu przestrzeni nazw oraz wyszukiwaniu grupowym opisanym poniżej. Możesz na przykład wykorzystać zapytanie [ -"zdanie które chcesz wykluczyć" ]
by wykluczyć dokładnie tą frazę.
Możesz wykonać dopasowanie częściowe przez dołączenie gwiazdki *
na początku lub/i na końcu słowa kluczowego. Dla przykładu, wyszukiwanie [ wiki ]
odnajdzie tylko “wiki”, jednakże wyszukiwanie [ *wiki ]
odnajdzie również “DokuWiki” (pasujące zakończenie). Możesz wykonać również [ doku* ]
(pasujący początek) oraz [ *okuwik* ]
(pasująca dowolna część).
Zwróć uwagę, ze *
nie jest “znakiem szablonowym”. Nie można użyć go w środku słowa kluczowego, tj wyszukiwanie [ doku*iki ]
nie odnajdzie niczego.
Możesz szukać dokładnej frazy poprzez umieszczenie zestawu słów w cudzysłowie, np. [ "instalacja dokuwiki" ]
.
Możesz ogranicyć wyszukiwanie do przestrzeni nazw. Aby odnaleźć strony wewnątrz przestrzeni nazw, dodaj przedrostek @
lub ns:
do przestrzeni nazw. Aby zablokować wyszukiwanie stron z przestrzeni nazw, dodaj przyrostek ^
lub -ns:
do przestrzeni nazw.
Na przykład, zapytanie [ dokuwiki @wiki ^wiki:docs ]
odnajdzie strony zawierające słowo “dokuwiki” leżące w przestrzeni nazw “wiki” ale nie leżące w przestrzeni “wiki:docs”. Zapytanie [ dokuwiki ns:wiki -ns:wiki:docs ]
zwróci taki sam wynik.
Domyślnie DokuWiki wyszukuje iloczyn logiczny AND, jednak możesz również skorzystać z sumy logicznej OR wpisując |
lub or
jako separator wpisanych słów kluczowych. Na przykład, zapytanie [ plugin | template ]
odnajdzie strony zawierające słowo “plugin” lub “template”. Zapytanie [ plugin or template ]
da ten sam wynik.
Operator OR operator ma niższy priorytet niż AND. Oznacza to, że zapytanie [ dokuwiki plugin | template ]
można przedstawić jako [ (dokuwiki plugin) | template ]
, nie zaś [ dokuwiki (plugin | template) ]
. Mimo wszystko korzystaj ze składni grupowania opisanej poniżej.
Możesz grupować wyszukiwane warunki otaczając je nawiasami ( … )
. Jako że mają najwyższy priorytet, mogą zostać wykorzystane do wymuszenia priorytetów.
Dla przykładu, zapytanie [ dokuwiki -(plugin | @plugin) ]
odnajdzie strony zawierające słowo “DokuWiki” ale nie zawierające słowa “plugin” i jednocześnie nie leżące w przestrzeni nazw “plugin”.
Możesz wpisać początek nazwy strony w pole wyszukiwania i odczekaj pół sekundy. W większości aktualnych przeglądarek uzyskasz automatycznie popup z pasującymi nazwami stron.
OpenSearch jest standardem ułatwiającym integrację przeszukiwania witryny internetowej z przeglądarką. Jest on wspierany przez wszystkie aktualne przeglądarki. DokuWiki jest otwarte dla OpenSearch.
W taki sposób można dodać wyszukiwanie w twoim Wiki do Firefoxa (inne lrzeglądarki obsługują to podobnie):
DokuWiki używa teraz indeksu do przeszukiwania bardzo szybko nawet dużych wiki. Aby można było odnaleźć cokolwiek, indeks wymaga napełnienia bieżącymi danymi. Informacje o zawartości strony są dodawane i aktualizowane gdy strona jest przeglądana przez użytkownika. Każda strona zawiera niewidoczny obrazek (webbug) wywołujący proces uaktualniania w razie potrzeby.2) (To jest, gdy znacznik czasowy strony jest nowszy niż znacznik pliku indeksowego.)
Indeks składa się z plików o nazwach page.idx
, w[n].idx
i i[n].idx
leżących w folderze indeksu. w[n].idx
zawiera listę wszystkich słów (poza słowami przestankowymi) o długości n umieszczonych na stronach wiki. Każdej linii w w[n].idx
odpowiada linia w korespondującym pliku i[n].idx
zawierającym wskazania do stron z pn*freq
. pn
jest numerem linii w page.idx
, freq
wylicza jak często słowo pojawia się na stronie. Wielokrotne wskazania na stronę oddzielone są dwukropkiem.
Indeksator używa specyficznego dla języka pliku słów przestankowych zawierającego listę bardzo powszechnych słów które nie będą nigdy indeksowane (np. słowo the
w języku angielskim). Wyszukiwanie po takim słowie nie zwróci żadnego trafienia. Ten plik słów przestankowych leży w folderze języka instalacji DokuWiki, to jest <dokuwiki>/inc/lang/<language>/stopwords.txt dzięki czemu możesz edytować plik we właściwym folderze by dodać lub usunąć słowa nieindeksowane w tym języku.
Jeśli uaktualniłeś wiki ze starszej wersji nie posiadającej indeksu, wyszukiwanie nie zwróci niczego dopóki indeks nie zostanie zbudowany. Możesz albo odczekać póki to się nie stanie poprzez przeglądanie stron wiki lub użyć dostarczonego skryptu linii poleceń by zaktualizować indeks.