Ricerca con OpenKM

From OpenKM Documentation
< Searching with OpenKM
Revision as of 22:58, 10 December 2011 by P dinap.efa (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Ricerche con caratteri jolly

Per fare ricerche dove la parte variabile della stringa è un solo carattere, utilizzare il simbolo "?". Per esmpio facendo una ricerca del tipo

 te?t

si sta dicendo che si cercano parole di quattro caratteri dove il primo, secondo e quarto sono fissati mentre il terzo varia; per cui sono ottenibili risultati del tipo: "text" o "test".


Per effettuare ricerche dove i caratteri varianti sono più di uno e adiacenti si usa il simbolo "*"; questo rappresenta n caratteri con n>=0. Per esempio cercando

 test*

si otterranno risultati come: test, tests, tester ecc.

I caratteri jolly possono essere anche usati all'interno di una stringa come:

 te*t

Nota: Non è possibile usare i caratteri * e ? come primo carattere nella ricerca.

Fuzzy Searches

OpenKM supporta le "fuzzy searches" basate sugli algoritmi "Levenshtein Distance" o "Edit Distance". Per fare una tale ricerca usare il carattere tilde "~" alla fine di una singola parola. Per esempio per cercare termini simili nello spelling a "roam" usare la seguente "fuzzy search":

 roam~

Questa ricerca troveraà termini come foam o roams.

Operatori Booleani

Gli operatori booleani permettono di combinare termini attraverso operatori logici: Lucene supporta AND, "+", OR, NOT e "-" come operatori booleani (Nota: tali operatori devono essere scritti con le lettere maiuscole)

OR

L'operatore OR è l'operatore di congiunzione di default; questo implica che se fra due termini non vi è alcun operatore booleano, allora viene usato OR. tale operatore collega due termini e trova tutti quei documenti che contengono o l'uno o l'altro termine. Il simbolo || può essere usato al posto della parola OR.


Per cercare documenti che contengano "jakarta apache" oppure "jakarta" scrivere:

 "jakarta apache" jakarta

oppure

 "jakarta apache" OR jakarta

AND

L'operatore AND restituisce documenti che contengono entrambi i termini da esso collegati. Il simbolo && può essere usato al posto della parola AND.

Per cercare documenti che contengano "jakarta apache" e "Apache Lucene" scrivere:

 "jakarta apache" AND "Apache Lucene"

+

L'operatore "+" detto "operatore richiesto" implica che il termine che lo segue debba esistere nel documento trovato.

Per cercare documenti che contengano "jakarta" e possano contenere "lucene" scrivere:

 +jakarta lucene

NOT

L'operatore NOT esclude documenti che contengono il termine dopo il NOT. Il simbolo ! può essere usato al posto della parola NOT.

Per cercare documenti che contengano "jakarta apache" ma non "Apache Lucene" scrivere:

 "jakarta apache" NOT "Apache Lucene"

Nota: L'operatore NOT non può essere usato con una sola parola. Per esempio la seguente ricerca non darebbe alcun risultato:

 NOT "jakarta apache"

-

L'operatore "-" o operatore di proibizione esclude i documenti che contengono la parola dopo il simbolo "-".

Per ricercare documenti che contengano "jakarta apache" ma non "Apache Lucene" scrivere:

 "jakarta apache" -"Apache Lucene"

Raggruppamento

Lucene supporta l'uso di parentesi per raggruppare clausole all'interno di una interrogazione per formare sottointerrogazioni. Ciò è molto utile per controllare la logica booleana per una interrogazione.

Per cercare "jakarta" o "apache" e "website" scrivere:

 (jakarta OR apache) AND website

Ciò elimina ogni confusione e garantisce all'utente di ottenere risultati che contengano website e jackarta oppute apache.

Caratteri speciali di escape

Lucene supporta caratteri speciali di escape che sono parte della sintassi delle interrogazioni. La lista degli attuali caratteri speciali è:

 + - && || ! ( ) { } [ ] ^ " ~ * ? : \

Per disabilitare il significato speciale di tali caratteri anteporre ad essi \. Per esempio per cercare (1+1):2 usare l'interrogazione:

 \(1\+1\)\:2