SourceOne Email Management: WebSearch potrebbe non restituire una serie completa di risultati di ricerca

Summary: WebSearch potrebbe non restituire un set completo di risultati di ricerca.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms


Durante una ricerca di indice full-text, non è possibile che venga eseguito il commit di tutti i risultati nel database SourceOne Search. Di conseguenza, i risultati della ricerca potrebbero essere incompleti.
Questo problema potrebbe non influire su tutte le ricerche. Il verificarsi di questo problema dipenderà dall'esistenza di messaggi duplicati nell'indice full-text e dall'ordine in cui vengono restituiti tali risultati. È più probabile che questo problema si verifichi nei sistemi in cui:

  • Esistono elementi duplicati nell'indice full-text
  • L'opzione MaxSearchHitsThreads è stata abilitata
  • Esistono archivi di migrazione sul posto in cui i dati provenienti da più server EmailXtender sono stati migrati in una singola cartella mappata SourceOne.   

Cause

Quando si esegue una ricerca web SourceOne, il processo di ricerca cercherà corrispondenze con i criteri di ricerca, o risultati, nell'indice.  Una volta che il numero di riscontri raggiunge 5000 o la ricerca viene completata, i risultati vengono inviati al database SQL di SourceOne Search tramite una transazione SQL.  Se la transazione contiene una voce duplicata, lo stesso messaggio dalla stessa cartella mappata, di un riscontro già pubblicato dalla stessa transazione o da una transazione precedente per la stessa ricerca, viene restituito un errore di violazione della chiave primaria e viene eseguito il rollback della transazione.  Gli hit contenuti nella transazione di rollback non verranno aggiunti al set di risultati della ricerca.

Resolution

Dell EMC consiglia ai clienti di applicare una delle seguenti patch di SourceOne Email Management per la versione 7.2 installata:

7.2 SP6 HF4 (7.2.6.6229)
7.2 SP7 o versione successiva

I download sono disponibili sulla pagina del prodotto SourceOne Email Management all'indirizzo: http://support.emc.com

Una volta installata una versione di SourceOne Email Management con la correzione, tutte le ricerche future dovrebbero essere completate con tutti i risultati.  Tutte le ricerche eseguite durante l'esecuzione di una versione interessata dovranno essere eseguite nuovamente per garantire la completezza dei risultati.

In SourceOne Email Management versione 7.2.8 potrebbe essere possibile identificare quali set di indici hanno contenuto duplicato o "Elementi extra" tramite la convalida dell'indice. I risultati della convalida possono essere utilizzati per identificare le ricerche che devono essere eseguite nuovamente. Attenersi alla seguente procedura:  

Innanzitutto, configurare la scansione di convalida dell'indice utilizzando la modalità 2 o successiva. La convalida dell'indice contrassegna gli insiemi di indici problematici con un punto esclamativo giallo (!) e lo stato dell'indice è "Elementi aggiuntivi".  Se le scansioni sono state eseguite in una versione precedente, è possibile eseguire una nuova scansione nella console di gestione e-mail di SourceOne facendo clic con il pulsante destro del mouse su ciascuna cartella AAAAMM e selezionando "Nuova scansione".  Una volta completate le scansioni, tutti gli indici con stato "Extra Items" devono essere ricostruiti correttamente prima di eseguire nuovamente le ricerche web di SourceOne interessate.

I passaggi successivi consistono nell'identificare tutte le potenziali ricerche Web di SourceOne eseguite in precedenza che avrebbero potenzialmente eseguito ricerche in un set di indici problematici.

NOTA: Le query SQL riportate di seguito presuppongono che il nome dei database SourceOne sia predefinito. In caso contrario, la query dovrà essere modificata con il nome corretto dei nomi del database SourceOne.

Innanzitutto, per identificare eventuali ricerche web di SourceOne eseguite in precedenza durante il periodo di questo problema, eseguire le seguenti query SQL:

1. Eseguire la query seguente per acquisire la data di installazione e le date di aggiornamento dell'ambiente SourceOne:

use ES1Archive
select EndTime into #TEMP from [DBMaintenanceHistory] where (version >=7 and version <7.27000) and Description = 'SourceOne Archive database update complete'
insert into #TEMP select EndTime from [DBMaintenanceHistory] where Description = 'New SourceOne Native Archive database created' and Version >=7 and Version < 7.27000
GO


2. Eseguire la query seguente per raccogliere tutte le informazioni per le ricerche web di SourceOne eseguite in base alle date recuperate nel passaggio 1:
 

use ES1Activity;
with cte as(
select ActivityID as activityid,TaskTypeID,Name as SearchName,search.value('(@searchOperation)[1]','varchar(max)') as operation, search.value('(.)[1]','varchar(max)') as daterange,
xConfig.value('(/SearchJobConfig/QueryString/SearchCriteria/@displayName)[1]','nvarchar(max)') as SearchUser from Activity
cross apply xConfig.nodes('/SearchJobConfig/QueryString/SearchCriteria/ExpressionSet/SimpleAttributeExpression') as ref(search)
where xConfig is not null --and --TaskTypeID = 8
and search.value('(@displayName)[1]','varchar(max)') = 'Date')
select activityid,TaskTypeID,SearchUser,SearchName, 'StartDate' = Replace(CASE 
WHEN min(daterange) = max(daterange) THEN 'ALL'
ELSE min(daterange) END,'T',' '), 'EndDate' = Replace(CASE
WHEN min(daterange) = max(daterange) THEN 'ALL'
ELSE max(daterange) END,'T',' ') into #SearchDates from cte
group by activityid,TaskTypeID,SearchUser,SearchName


3. Eseguire la query seguente per ottenere tutte le informazioni relative alle ricerche potenzialmente interessate. L'output includerà le informazioni di base su SourceOne Web Search, tra cui: 
 

Nome della ricerca: Il nome della ricerca così come appare nella finestra SourceOne Email Management Console\Operations\Job Management.
ID processo: Il valore JobID trovato nelle finestre Job Management della console di gestione e-mail di SourceOne.
Ora di inizio: Data/ora di esecuzione della ricerca.
Data di inizio/fine ricerca: Criteri di data utilizzati nella ricerca. Se nella ricerca non è stato utilizzato alcun campo Data, sono state cercate TUTTE le date.
Utente esecutore: L'utente che ha creato ed eseguito la ricerca.
use ES1Activity
select distinct A.Name as SearchName,J.JobID,A.StartTime,S.StartDate as [Search Start Date], 
S.EndDate as [Search End Date], S.SearchUser as [Executing User] from Activity A
join Tasks T on A.ActivityID = T.ActivityID
join Jobs J on T.TaskID = J.TaskID
join #SearchDates S on (S.ActivityID = A.ActivityID)
where A.TaskTypeID =8 and A.StartTime > (select min(EndTime) from #TEMP) and A.StartTime < (select max(EndTime)from #TEMP)
order by A.StartTime
GO
drop table #TEMP
drop table #SearchDates
GO


NOTA: Procedere con i seguenti passaggi solo dopo aver completato la convalida dell'indice.

Successivamente, per identificare i set di indici SourceOne problematici e i relativi stati, eseguire le query SQL seguenti:


1. Eseguire la query seguente per acquisire la data di installazione e le date di aggiornamento dell'ambiente SourceOne:

use ES1Archive
select EndTime into #TEMP from [DBMaintenanceHistory] where (version >=7 and version <7.27000) and Description = 'SourceOne Archive database update complete'
insert into #TEMP select EndTime from [DBMaintenanceHistory] where Description = 'New SourceOne Native Archive database created' and Version >=7 and Version < 7.27000
GO


2. Eseguire la query seguente per acquisire tutti gli indici SourceOne contrassegnati in qualsiasi momento come "Elementi aggiuntivi":

use ES1Archive
select WorkID,CmdType,cast(CmdParam as XML).value('(/WQ_Parms/WQ_FolderId/node()) [1]', 'bigint') as FolderID,cast(CmdParam as XML).value('(/WQ_Parms/WQ_FldrPath/node()) [1]', 'nvarchar(max)') as [Archive_Index Path],LastModified as ScanDate, SUBSTRING(ResultStr,(CHARINDEX( 'indexflags(', ResultStr, 0)+11),(CHARINDEX( ')', ResultStr, (CHARINDEX( 'indexflags(', ResultStr, 0)+11) )-(CHARINDEX( 'indexflags(', ResultStr, 0)+11))) as ResultStr,'Result' = CAST('Extra Items' as varchar(50))
into #ExtraItems 
from WorkQueue 
where CmdType =17 and (CHARINDEX( 'indexflags(', ResultStr, 0) > 0 and (CAST(SUBSTRING(ResultStr,(CHARINDEX( 'indexflags(', ResultStr, 0)+11),(CHARINDEX( ')', ResultStr, (CHARINDEX( 'indexflags(', ResultStr, 0)+11) )-(CHARINDEX( 'indexflags(', ResultStr, 0)+11))) as bigint) & CAST( 65536 as bigint) ) > 0)
GO

3. Eseguire la query seguente per acquisire eventuali indici SourceOne ricostruiti durante il periodo in cui si è verificato il problema: 

use ES1Archive
select WorkID,CmdType,cast(replace(replace(CmdParam,'<WQ_Parms><WQ_FldrPath>',''),'</WQ_FldrPath></WQ_Parms>','') as nvarchar(max)) as [Archive_Index Path], min(LastModified) as [Rebuild Date], 'Result' = CASE WHEN CmdType=1 THEN 'Rebuilt' ELSE 'Unknown' END into #Rebuilt 
from WorkQueue (nolock) 
where CmdType = 1 and (LastModified >= (select min(EndTime) from #TEMP) and LastModified < (select max(EndTime) from #TEMP))
group by WorkID,CmdParam,CmdType order by CmdParam,CmdType
GO
update #Rebuilt set [Archive_Index Path] = replace([Archive_Index Path],char(13),'')
update #Rebuilt set [Archive_Index Path] = replace([Archive_Index Path],char(10),'')
GO
set IDENTITY_Insert #ExtraItems ON
insert into #ExtraItems (WorkID,CmdType,[Archive_Index Path],ScanDate,Result)
select * from #Rebuilt where NOT EXISTS(select * from #ExtraItems where #ExtraItems.[Archive_Index Path] = #Rebuilt.[Archive_Index Path])
GO

 

4. Eseguire la query seguente per acquisire tutti gli indici SourceOne la cui convalida non è riuscita o che non è stata rilevata durante il processo di convalida dell'indice dopo l'aggiornamento a SourceOne 7.2 SP8:

use ES1Archive
select replace(FP.path,'\FPROOT\','') + CASE
WHEN LEN(FT.IndexNum) = 1 THEN ('00' + CAST(FT.IndexNum AS VarChar(20)))
WHEN LEN(FT.IndexNum) = 2 THEN ('0' + CAST(FT.IndexNum AS varchar(20)))
WHEN LEN(FT.IndexNum) = 3 THEN CAST(FT.IndexNum AS varchar(20)) END as [Archive_Index Path] into #IndexList
 from FTIndex FT 
join FolderPlan FP on FT.FolderNodeID = FP.FolderID
EXCEPT
select replace(FP.path,'\FPROOT\','') + CASE
WHEN LEN(FT.IndexNum) = 1 THEN ('00' + CAST(FT.IndexNum AS VarChar(20)))
WHEN LEN(FT.IndexNum) = 2 THEN ('0' + CAST(FT.IndexNum AS varchar(20)))
WHEN LEN(FT.IndexNum) = 3 THEN CAST(FT.IndexNum AS varchar(20)) END as [Archive_Index Path] 
 from FTIndex FT 
join FolderPlan FP on FT.FolderNodeID = FP.FolderID
where (FT.LastScanDate > (select Max(Date) from DBMaintenanceHistory where Description = 'SourceOne Archive database update complete'  and Version > 7.27))
GO
set IDENTITY_Insert #ExtraItems ON
insert into #ExtraItems (WorkID,CmdType,[Archive_Index Path],Result) 
select '0','17',[Archive_Index Path],'Result'='Not-Validated' from #IndexList 
WHERE NOT EXISTS (select * from #ExtraItems where #ExtraItems.[Archive_Index Path] = #IndexList.[Archive_Index Path])
GO

5. L'esecuzione di questa query finale restituirà tutti gli indici SourceOne potenzialmente interessati. Tutte le ricerche eseguite a fronte di indici contrassegnate come "Elementi extra" devono essere eseguite nuovamente per ottenere i risultati corretti. Potrebbe essere necessario eseguire nuovamente le ricerche eseguite su indici "ricostruiti" perché la ricostruzione di un indice sarebbe stata risolta, ma dipende da quando è stata eseguita la ricerca rispetto al set di indici ricostruito.

select WorkID,[Archive_Index Path],ScanDate as Date,Result from #ExtraItems where Result !='Validated'
GO
drop table #TEMP
drop table #Rebuilt
drop table #ExtraItems
drop table #IndexList
GO

Additional Information

Questo contenuto è tradotto in altre lingue: 
https://downloads.dell.com/TranslatedPDF/PT-BR_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/ZH-CN_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/ES_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/DE_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/FR_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/IT_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/JA_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/NL_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/KO_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/RU_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/PT_KB535700.pdf
https://downloads.dell.com/TranslatedPDF/SV_KB535700.pdf

Affected Products

SourceOne Email Management

Products

SourceOne, SourceOne Email Management
Article Properties
Article Number: 000055328
Article Type: Solution
Last Modified: 27 Jun 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.