Searching with OpenKM/it-it
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