Strumenti Utente

Strumenti Sito


appunti:come_fare_ricerca

Ricerca

La ricerca (Search) è effettuata attraverso la casella di ricerca nella riga in alto.

Sintassi

Fondamentalmente DokuWiki esegue la ricerca con l'operatore logico AND. Questo significa che tutte le parole inserite nell'interrogazione verranno utilizzate. La ricerca non distingue tra maiuscole e minuscole.

La sintassi di ricerca avanzata di DokuWiki è descritta di seguito. Tutte le sintassi possono essere combinate insieme. In questa sezione, si useranno parentesi quadre […] per rappresentare i caratteri inseriti nell'interrogazione.

Termini che si desidera escludere (-)

È possibile anteporre un trattino - immediatamente prima di una parola chiave per escludere le pagine che contengono questa parola chiave dai risultati di ricerca. Ad esempio l'interrogazione [dokuwiki -plugin] troverà le pagine che contengono “DokuWiki” ma non contengono “plugin”.

È possibile utilizzare questa sintassi - non solo per una parola chiave, ma anche per una corrispondenza parziale, una ricerca di frase, una ricerca di categoria e una ricerca di gruppo descritte di seguito. Ad esempio, è possibile utilizzare l'interrogazione [-“frase che si desidera escludere”] per escludere la frase esatta.

Corrispondenza parziale (*)

È possibile eseguire una ricerca parziale ponendo come prefisso e/o suffisso un asterisco * ad una parola chiave. Ad esempio, cercando [wiki] sarà trovato solo “wiki”, ma la ricerca di [* wiki] troverà anche “DokuWiki” (suffisso corrispondente). È inoltre possibile eseguire [doku *] (prefisso corrispondente) e [* okuwik *] (corrispondenza parziale).

Si noti che * non è un “jolly”. Non è possibile usarlo all'interno di una parola chiave, vale a dire la ricerca [doku * iki] non troverà nulla.

Frase di ricerca ("")

È possibile cercare frasi esatte mettendo tra virgolette una serie di parole, ad esempio,[“installare DokuWiki”].

Ricerca all'interno di una categoria (@)

Si può restringere la ricerca ad una categoria. Per cercare pagine all'interno di una categoria, si antepone @ o ns: alla categoria. Per non cercare pagine all'interno di una categoria, si antepone ^ o -ns: alla categoria.

Per esempio, l'interrogazione [ dokuwiki @wiki ^wiki:docs ] troverà pagine che contengono la parola “dokuwiki” all'interno della categoria “wiki” ma non dentro la categoria “wiki:docs”. L'interrogazione [ dokuwiki ns:wiki -ns:wiki:docs ] farà la stessa cosa.

L'operatore OR (|)

Per impostazione predefinita DokuWiki esegue la ricerca con l'operatore logico AND, ma si può anche usare l'operatore logico di ricerca OR utilizzando | o or come separatore dei termini di ricerca. Ad esempio, l'interrogazione [plugin | modello] troverà tutte le pagine che contengono “plugin” o “modello”. L'interrogazione [plugin or modello] farà la stessa cosa.

L'operatore OR ha una precedenza inferiore rispetto all'operatore predefinito AND. Cioè, l'interrogazione [ dokuwiki plugin | template ] può essere rappresentata come [ (dokuwiki plugin) | template ], non come [ dokuwiki (plugin | template) ]. Si usi invece una sintassi di raggruppamento come descritto di seguito.

Raggruppamento di ricerca

È possibile raggruppando i termini di ricerca racchiudendo i termini tra parentesi (…). Avendo una la priorità più elevata, le parentesi possono essere usate per forzare la precedenza.

Ad esempio, l'interrogazione [DokuWiki -(plugin | @plugin)] troverà tutte le pagine che contengono la parola “DokuWiki” ma non contengono la parola “plugin” e inoltre non sono all'interno della categoria “plugin”.

Ricerca veloce

È possibile inserire l'inizio di un nome di pagina nella casella di ricerca e aspettare mezzo secondo. Nella maggior parte dei moderni navigatori web si ottiene automaticamente un menu a discesa con nomi di pagina corrispondenti.

OpenSearch

OpenSearch in Firefox

OpenSearch è uno standard per rendere facile integrare la ricerca nei siti all'interno dei navigatori. E' supportata da tutti i moderni navigatori. DokuWiki permette l'OpenSearch.

Ecco come aggiungere la ricerca nel Wiki a Firefox (gli altri navigatori probabilmente la gestiscono in un modo simile):

  1. si apra il wiki nel navigatore
  2. si faccia clic sulla piccola freccia a sinistra del campo di ricerca
  3. si scelga “Aggiungi DokuWiki” 1)

Alcune notazioni sull'indice di ricerca

DokuWiki attualmente usa un indice per cercare velocemente anche nei wiki molto grandi. Per essere in grado di trovare ogni cosa l'indice deve essere riempito con dati attuali. Ogni pagina include un'immagine invisibile (webbug) che richiama il processo di aggiornamento dell'indice se necessario. 2) (Questo avviene, se il timestamp della pagina è più recente del timestamp del file index.)

L'indice consiste di file chiamati page.idx, w[n].idx e i[n].idx localizzati nella cartella index. w[n].idx contengono un elenco di parole (eccetto le stopwords) con una lunghezza di n che si vedono sulle pagine del wiki. Per ogni riga in w[n].idx c'è una riga nel corrispondente file i[n].idx che contiene i riferimenti di pagina in forma di pn*freq. pn è un numero di riga per page.idx, freq denota quante volte la parola appare nella pagina. Riferimenti a pagine multiple sono separati con una colonna.

L'indexer usa un file stopwords specifico per ogni linguaggio che contiene un elenco di parole molto comuni che non saranno mai indicizzate (ad esempio la parola the in Inglese). La ricerca di queste parole non restituirà alcun risultato. Questo file stopwords è localizzato nella cartella language dell'installazione di DokuWiki, cioè <dokuwiki>/inc/lang/<language>/stopwords.txt così si può editare il file nell'appropriata cartella per aggiungere o rimuovere parole non indicizzate per quel linguaggio.

Se si aggiorna il proprio wiki da una versione senza l'indice, la ricerca non restituirà nulla finché non sarà costruito l'indice. Si può sia aspettare finché esso appare navigando nel wiki o usare commandline script per aggiornare l'indice.

1)
Potrebbe essere chiamato diversamente se il Wiki ha un nome differente
2)
Si noti che webbug è usato anche per altri compiti. Si veda http://forum.dokuwiki.org/post/3116
appunti/come_fare_ricerca.txt · Ultima modifica: 2023/07/03 13:31 da 127.0.0.1