Creare un dizionario personalizzato (Office SharePoint Server 2007)

Un dizionario personalizzato è un file in formato Unicode che può essere utilizzato per specificare parole che devono essere considerate complete dal word breaker della stessa lingua. Per impostazione predefinita, non vengono forniti dizionari personalizzati. Per modificare il comportamento del word breaker per più di una lingua, è necessario creare un dizionario personalizzato distinto per ogni lingua interessata. Non è possibile creare un dizionario personalizzato per il word breaker indipendente dalla lingua.

Nota

I dizionari personalizzati sono validi per tutti i provider di servizi condivisi nella server farm.

Nella tabella seguente sono elencate le lingue e le varianti per cui Microsoft Office SharePoint Server 2007 supporta dizionari personalizzati. Per ogni lingua e variante supportata sono inoltre indicati l'identificatore del codice della lingua (LCID) e il codice esadecimale della lingua.

I primi due numeri del codice esadecimale di ogni lingua rappresentano la variante e gli ultimi due numeri la lingua. Per le lingue che non dispongono di un word breaker distinto per le varianti, i primi due numeri del codice esadecimale della lingua sono sempre zeri.

Tabella 1 - Lingue supportate

Lingua/variante LCID Codice esadecimale della lingua

Arabo

1025

0001

Bengali

1093

0045

Bulgaro

1026

0002

Catalano

1027

0003

Croato

1050

001a

Danese

1030

0006

Olandese

1043

0013

Inglese

1033

0009

Francese

1036

000C

Tedesco

1031

0007

Gujarati

1095

0047

Ebraico

1037

000d

Hindi

1081

0039

Islandese

1039

000f

Indonesiano

1057

0021

Italiano

1040

0010

Giapponese

1041

0011

Kannada

1099

004b

Lettone

1062

0026

Lituano

1063

0027

Malese

1086

003e

Malayalam

1100

004c

Marathi

1102

004e

Norvegese (Bokmaal)

1044

0414

Portoghese

2070

0816

Portoghese (Brasile)

1046

0416

Punjabi

1094

0046

Rumeno

1048

0018

Russo

1049

0019

Serbo (alfabeto cirillico)*

3098

0c1a

Serbo (alfabeto latino)*

2074

081a

Slovacco

1051

001b

Sloveno

1060

0024

Spagnolo

3082

000a

Svedese

1053

001d

Tamil

1097

0049

Telugu

1098

004a

Ucraino

1058

0022

Urdu

1056

0020

Vietnamita

1066

002a

Motivi per utilizzare un dizionario personalizzato

I dizionari personalizzati consentono di ignorare o non suddividere una determinata parola con il word breaker di una lingua specifica. Per decidere se è necessario utilizzare un dizionario personalizzato e quali parole o voci questo dovrà contenere, è utile comprendere il comportamento dei word breaker.

I word breaker vengono utilizzati dal sistema di indicizzazione per suddividere in token le parole per l'indicizzazione del contenuto e dal sistema di query per suddividere in token le parole di una query. Se è stato creato un dizionario personalizzato che supporta la lingua e la variante del word breaker in uso, in entrambi i casi, prima di utilizzare il word breaker per una parola, il servizio di ricerca di Office Server verifica se tale parola è presente nel dizionario personalizzato. Se la parola non viene individuata nel dizionario personalizzato, nel word breaker vengono eseguite le azioni standard, pertanto la parola viene suddivisa in più parole o token. Se la parola è presente nel dizionario personalizzato, per tale parola non vengono eseguite azioni.

Negli esempi seguenti è descritto il comportamento tipico del word breaker e in che modo una voce di un dizionario personalizzato può influenzare tale comportamento.

Esempio 1

Un word breaker che incontra, ad esempio, IT&T potrebbe suddividere la parola nel punto della e commerciale (&), pertanto la parola IT e la lettera T risulterebbero parole singole che nella maggior parte delle lingue sarebbero ignorate come parole non significative. Se invece la parola IT&T, è presente nel dizionario personalizzato della stessa lingua del word breaker in uso, quest'ultimo ignorerebbe la parola IT&T. In tal caso, se venisse eseguita una ricerca per indicizzazione completa, la parola verrebbe indicizzata come IT&T. Se un utente digitasse una query per la parola IT&T, il word breaker non suddividerebbe la parola. Le query contenenti “IT” o “T” non restituirebbero pertanto alcun risultato per documenti che non contengono tali parole, ma contengono la parola “IT&T”.

Esempio 2

I word breaker possono agire ad esempio su termini come i nomi chimici sistematici (numeri SCN) o i numeri CAS. In questi casi, i numeri riportati prima o dopo il trattino o altri caratteri speciali vengono separati dal resto del numero. Un esempio di numero CAS è 7782-44-7, che rappresenta l'ossigeno nel registro CAS. In seguito all'elaborazione del word breaker, questo termine viene suddiviso in tre parti distinte: i numeri 7782, 44 e 7. Aggiungendo al dizionario personalizzato di ogni lingua pertinente i numeri SCN e CAS presenti nel corpo di documenti, sarà possibile indicizzare i numeri SCN e CAS senza suddividerli in numeri distinti. Per le query vengono utilizzati il word breaker e il dizionario personalizzato appropriati per la lingua del contenuto, pertanto sarà possibile includere un numero SCN o CAS nella query senza che questo venga suddiviso in parti distinte.

Normalizzazioni e file del Thesaurus

Le normalizzazioni di entità denominate, ad esempio di date, che vengono normalmente applicate dai word breaker non vengono applicate ai termini delle query presenti in dizionari personalizzati. Tutti i termini delle query presenti in dizionari personalizzati vengono considerati corrispondenze esatte. Questo comportamento è particolarmente importante in presenza di parole o numeri, ad esempio quelli trattati in precedenza, in un file del Thesaurus. Se il numero CAS 7782-44-7, ad esempio, fa parte di un set di espansioni nel Thesaurus e il word breaker lo suddivide in corrispondenza dei trattini in tre numeri separati, il set di espansioni a cui il numero appartiene potrebbe non funzionare come previsto. In questo caso, l'aggiunta del numero CAS 7782-44-7 al dizionario personalizzato della lingua corrispondente consente di risolvere il problema.

Prima di iniziare

La creazione o la modifica di un dizionario personalizzato è piuttosto facile. Un dizionario personalizzato è semplicemente un file in formato Unicode che contiene voci, rappresentate dalle parole specificate dall'utente, su righe separate da un ritorno a capo e un avanzamento riga. Per l'aggiunta di voci a un dizionario personalizzato, tenere a mente le regole seguenti per evitare risultati imprevisti:

  • Per le voci non viene fatta distinzione tra maiuscole e minuscole.

  • Il carattere barra verticale (|) non può essere utilizzato in alcun punto di un dizionario personalizzato.

  • Lo spazio vuoto non può essere utilizzato in alcun punto di un dizionario personalizzato.

  • Il carattere di cancelletto (#) non può essere utilizzato all'inizio di una voce, ma può essere utilizzato all'interno o alla fine della stessa.

  • Fatta eccezione per i caratteri barra verticale, cancelletto e spazio vuoto elencati sopra, tutti i caratteri alfanumerici, di punteggiatura, i simboli e i caratteri di interruzione sono validi.

  • La lunghezza massima di una voce è di 128 caratteri Unicode.

Nella tabella seguente sono illustrati alcuni esempi di voci supportate e non supportate.

Tabella 2 – Esempi di voci supportate e non supportate

Supportata Non supportata

finesettimana

fine settimana

3#

#3

44#55

fine|settimana

ASP.NET

IT&T

(2-Metil)propanolo

34590-97-8

C7H1603

Non vi è alcun limite fisso al numero di voci di un dizionario personalizzato, ma è consigliabile che le dimensioni totali del file di un dizionario personalizzato non superino i 2 GB. In pratica, si suggerisce di limitare il numero di voci a qualche migliaia.

Creazione di un dizionario personalizzato

Prima di creare un dizionario personalizzato, leggere la sezione Prima di iniziare riportata in precedenza in questo articolo in quanto è importante comprendere la differenza tra voci supportate e non supportate in un dizionario personalizzato.

Nota

Per eseguire questa procedura, è necessario essere membri del gruppo Administrators in ogni server di indicizzazione e di query della server farm.

Per creare un dizionario personalizzato

  1. Accedere al server di indicizzazione come membro del gruppo Administrators.

  2. Avviare il Blocco note e digitare le parole che si desidera inserire nel dizionario personalizzato. Fare attenzione a evitare le voci non valide, come descritto nella sezione Prima di iniziare.

    Suggerimento

    Tenere a mente che ogni parola deve trovarsi su una riga distinta ed essere separata dalla precedente e dalla seguente da un ritorno a capo e un avanzamento riga.

  3. Scegliere Salva con nome dal menu File.

  4. Nella casella Salva come fare clic su Tutti i file.

  5. Nell'elenco Codifica selezionare Unicode.

  6. Nella casella Nome file digitare il nome del file nel formato seguente: CustomNNNN.lex, dove NNNN rappresenta il codice esadecimale della lingua per la quale si crea il dizionario personalizzato. Vedere la tabella 1, riportata in precedenza in questo articolo, per un elenco di nomi di file validi per le lingue e le varianti supportate.

  7. Nell'elenco Salva in passare alla cartella che contiene i word breaker, per impostazione predefinita unità:\Programmi\Microsoft Office Servers\12\bin, dove unità rappresenta la lettera dell'unità in cui è installato Microsoft Office SharePoint Server 2007.

  8. Fare clic su Salva.

    Eseguire la procedura riportata di seguito solo se si dispone di server di query separati dal server di indicizzazione. In caso contrario, passare alla sezione Arrestare e riavviare il servizio di ricerca di Office SharePoint Server.

Copiare il dizionario personalizzato in altri server

  1. Accedere al server di indicizzazione come membro del gruppo Administrators.

  2. Passare alla cartella in cui è stato salvato il file del dizionario personalizzato.

  3. Copiare il file del dizionario personalizzato nella cartella che contiene i word breaker nel primo server di query, per impostazione predefinita unità:\Programmi\Microsoft Office Servers\12\bin, dove unità rappresenta la lettera dell'unità in cui è installato Microsoft Office SharePoint Server 2007.

  4. Eseguire una ricerca per indicizzazione completa del contenuto interessato. Per informazioni sull'esecuzione di una ricerca per indicizzazione completa, vedere Eseguire la ricerca per indicizzazione di contenuto (Office SharePoint Server 2007)..

  5. Ripetere i passaggi da 1 a 3 in ogni server di query della server farm.

Arrestare e riavviare il servizio di ricerca di Office SharePoint Server

È necessario riavviare questo servizio in tutti i server di indicizzazione e di query

Importante

Non utilizzare la pagina Servizi nel server di Amministrazione centrale per arrestare e avviare questi servizi perché in questo modo si rimuoverebbe il servizio, eliminando l'indice e la configurazione associata. Eseguire invece le operazioni seguenti.

Per arrestare e riavviare il servizio di ricerca di Office SharePoint Server

  1. Accedere al server di indicizzazione come membro del gruppo Administrators.

  2. Fare clic sul pulsante Start, scegliere Tutti i programmi, Strumenti di amministrazione e quindi Servizi.

  3. Scorrere l'elenco verso il basso, fare clic con il pulsante destro del mouse su Servizio di ricerca di Office SharePoint Server e quindi scegliere Proprietà. Verrà visualizzata la pagina delle proprietà.

  4. Fare clic su Arresta. Quando il servizio è arrestato, fare clic su Avvia.

  5. Verificare che l'opzione Tipo di avvio non sia impostata su Disabilitato.

  6. Se nella server farm sono presenti server di query separati dal server di indicizzazione, ripetere i passaggi da 1 a 5 in ogni server di query.

Eseguire una ricerca per indicizzazione completa

Per applicare il dizionario personalizzato all'indice di contenuto, è necessario eseguire una ricerca per indicizzazione completa di tutte le origini di contenuto che contengono le parole aggiunte al dizionario personalizzato. Per informazioni sull'esecuzione di una ricerca per indicizzazione completa, vedere Eseguire la ricerca per indicizzazione di contenuto (Office SharePoint Server 2007)..