Creare un dizionario personalizzato (Search Server 2008)

Aggiornato: 2008-10-09

Un dizionario personalizzato è un file con codifica Unicode che può essere utilizzato per specificare le parole che il word breaker della stessa lingua deve considerare come parole intere. Per impostazione predefinita, i dizionari personalizzati non sono disponibili. Per modificare il comportamento del word breaker per più lingue, è necessario creare un dizionario personalizzato separato per ogni lingua per la quale si desidera applicare tale modifica. Non è possibile creare un dizionario personalizzato per il word breaker indipendente dalla lingua.

Nella tabella seguente sono elencati le lingue e i sottolinguaggi per cui Server di ricerca 2008 Microsoft supporta i dizionari personalizzati. Questa tabella include inoltre il codice LCID e il codice esadecimale per ogni lingua e sottolinguaggio.

Si noti che i primi due numeri del codice esadecimale di ogni lingua rappresentano il sottolinguaggio e che gli ultimi due numeri rappresentano la lingua. Per le lingue che non dispongono di word breaker separati per sottolinguaggi distinti, i primi due numeri del codice esadecimale della lingua sono sempre zeri.

Tabella 1 - Lingue supportate

Lingua/sottolinguaggio 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 (Bokmal)

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 vengono utilizzati affinché il word breaker di una lingua specifica ignori una determinata parola, ovvero non le applichi un'interruzione. Per stabilire se è necessario un dizionario personalizzato e quali parole o voci deve contenere, è utile conoscere il comportamento dei word breaker.

I word breaker vengono utilizzati dal sistema di indicizzazione per suddividere le parole in token quando viene indicizzato il contenuto, nonché dal sistema di query per suddividere le parole di una query in token. In entrambi i casi, qualora sia stato creato un dizionario personalizzato che supporta la lingua e il sottolinguaggio del word breaker utilizzato, il servizio di ricerca di Office Server determina se la parola è presente nel dizionario personalizzato prima di stabilire se utilizzare o meno il word breaker per tale parola. Se la parola non è presente nel dizionario personalizzato, il word breaker esegue azioni standard, ad esempio suddividendola in più parole o token. Se la parola è presente nel dizionario personalizzato, il word breaker non esegue alcuna azione su tale parola.

Negli esempi seguenti viene descritto il comportamento tipico del word breaker, illustrando in che modo una voce del dizionario personalizzato può influire su tale comportamento.

Esempio 1

Un determinato word breaker che rileva la parola IT&T potrebbe suddividerla in corrispondenza del simbolo "e commerciale" (&), restituendo come risultato le parole IT e la lettera T che il work breaker per la maggior parte delle lingue ignorerà come parole non significative. Se tuttavia la parola IT&T è presente nel dizionario personalizzato della stessa lingua del word breaker utilizzato, quest'ultimo ignorerà tale parola. Se pertanto viene eseguita una ricerca per indicizzazione completa, la parola verrà indicizzata come IT&T. Quando un utente digita una query per la parola IT&T, il word breaker non interromperà tale parola. In particolare, le query contenenti "IT" o "T" non restituiranno risultati di ricerca per i documenti che non includono tali parole ma che contengono la parola "IT&T".

Esempio 2

Termini come i numeri SCN o CAS possono essere interessati dai word breaker, che in genere dividono ad esempio le singole cifre che precedono o seguono un segno meno o un altro carattere speciale dal resto del numero. Un esempio di numero CAS è 7782-44-7, che è il numero di registro CAS dell'ossigeno. Dopo l'elaborazione eseguita dal word breaker, la parola viene suddivisa in tre parti separate: i numeri 7782, 44 e 7. L'aggiunta dei numeri SCN e CAS inclusi in un corpus al dizionario personalizzato per ogni lingua di riferimento consente al sistema di indicizzare tali numeri senza suddividerli in cifre separate. Poiché in fase di query vengono utilizzati il word breaker appropriato e il dizionario personalizzato per la lingua del contenuto, un utente può includere anche un numero SCN o CAS nella query senza che questo venga suddiviso in parti separate.

Normalizzazioni e file del Thesaurus

Le normalizzazioni di entità denominate, ad esempio le date, che di solito vengono applicate dai word breaker non vengono applicate ai termini di query presenti nei dizionari personalizzati. Tutti i termini di query presenti nei dizionari personalizzati vengono considerati come corrispondenze esatte. Questo è importante soprattutto se un file del Thesaurus include parole o numeri come quelli descritti sopra. Se ad esempio il numero CAS 7782-44-7 fa parte di un set di espansione contenuto nel Thesaurus e il word breaker suddivide il numero in tre parti separate in corrispondenza dei segni meno, il set di espansione a cui appartiene il numero potrebbe non funzionare nel modo previsto. In questo caso, il problema viene risolto aggiungendo il numero CAS 7782-44-7 al dizionario personalizzato della lingua appropriata.

Prima di iniziare

Creare o modificare un dizionario personalizzato è semplice. Un dizionario personalizzato è semplicemente un file in formato Unicode con le voci (le parole specificate) disposte su righe distinte separate da un ritorno a capo e da un avanzamento di riga. Quando si aggiungono voci a un dizionario personalizzato, tenere presenti le regole seguenti per evitare risultati imprevisti:

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

  • In un dizionario personalizzato non è possibile utilizzare il carattere barra verticale (|) in qualsiasi posizione.

  • In un dizionario personalizzato non è possibile utilizzare spazi vuoti in qualsiasi posizione.

  • Non è possibile utilizzare il carattere cancelletto (#) all'inizio di una voce, ma è possibile utilizzarlo nella parte intermedia o alla fine di una voce.

  • Tutti caratteri alfanumerici ad eccezione dei caratteri barra verticale e cancelletto e degli spazi vuoti indicati sopra sono caratteri di interruzione validi.

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

Nella tabella seguente sono contenuti esempi di voci supportate e non supportate.

Tabella 2 - Esempi di voci supportate e non supportate

Supportata Non supportata

tagliacarte

taglia carte

3#

#3

Quattro#stagioni

taglia|carte

ASP.NET

IT&T

(2-Metossimetiletossi)propanolo

34590-97-8

C7H1603

Non è previsto alcun limite fisso per il numero di voci incluse in un dizionario personalizzato, ma è consigliabile che le dimensioni totali del file di un dizionario personalizzato non superino 2 GB. In pratica, è opportuno limitare il numero di voci a poche migliaia.

Creazione di un dizionario personalizzato

Prima di creare un dizionario personalizzato, leggere la sezione Prima di iniziare più indietro in questo articolo poiché è importante per comprendere la differenza tra voci supportate e non supportate in un dizionario personalizzato.

Nota

Per eseguire questa procedura, è necessario essere membri del gruppo Administrators nel server di indicizzazione e in ogni server 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 includere nel dizionario personalizzato. Evitare di inserire le voci non valide descritte nella sezione Prima di iniziare.

    SuggerimentoSuggerimento:

    Tenere presente che ogni parola deve essere disposta su una riga distinta separata da un ritorno a capo e da un avanzamento di riga.

  3. Scegliere Salva con nome dal menu File.

  4. Nell'elenco Tipo file selezionare 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 è il codice esadecimale della lingua per cui si desidera creare il dizionario personalizzato. Per un elenco dei nomi di file validi per le lingue e i sottolinguaggi supportati, vedere la tabella 1 più indietro in questo articolo.

  7. Nell'elenco Salva in passare alla cartella che contiene i word breaker. Per impostazione predefinita, si tratta della cartella unità:\Programmi\Microsoft Office Servers\12\bin, dove unità è la lettera dell'unità in cui è installato Server di ricerca 2008.

  8. Fare clic su Salva.

    Eseguire la procedura seguente solo se si dispone di server di query separati dal server di indicizzazione. In caso contrario, passare all'argomento 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 il word breaker del primo server di query. Per impostazione predefinita, si tratta della cartella unità:\Programmi\Microsoft Office Servers\12\bin, dove unità è la lettera dell'unità in cui è installato Server di ricerca 2008.

  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 del contenuto (Search Server 2008).

  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 il servizio OSearch nel server di indicizzazione e in tutti i server di query.

ImportanteImportante:

Non utilizzare la pagina Servizi nel server di Amministrazione centrale per arrestare e avviare i servizi perché in questo modo viene rimosso il servizio e vengono eliminati l'indice e la configurazione associata. Utilizzare invece la procedura seguente.

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 fare clic su 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 la server farm include 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 includono le parole aggiunte al dizionario personalizzato. Per informazioni sull'esecuzione di una ricerca per indicizzazione completa, vedere Eseguire la ricerca per indicizzazione del contenuto (Search Server 2008).