SourceOne Email Management: WebSearch retourneert mogelijk geen volledige set zoekresultaten

Summary: WebSearch retourneert mogelijk geen volledige set zoekresultaten.

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


Tijdens een zoekopdracht in een volledige tekstindex worden mogelijk niet alle resultaten vastgelegd in de SourceOne Search-database. Bijgevolg kunnen zoekresultaten onvolledig zijn.
Dit probleem heeft mogelijk geen invloed op elke zoekopdracht. Het optreden van dit probleem is afhankelijk van het bestaan van dubbele berichten in de Full Text Index en de volgorde waarin deze resultaten worden geretourneerd. Dit probleem doet zich vaker voor bij systemen waarbij:

  • Er bestaan dubbele items in de Full Text Index
  • De optie MaxSearchHitsThreads is ingeschakeld
  • Er bestaan in-place migratiearchieven waar gegevens van meerdere EmailXtender-servers zijn gemigreerd naar één SourceOne Mapped Folder.   

Cause

Bij het uitvoeren van een SourceOne Web Search zoekt het zoekproces naar overeenkomsten met de zoekcriteria, of treffers, in de index.  Zodra het aantal treffers 5000 bereikt of de zoekopdracht is voltooid, worden de resultaten via een SQL-transactie naar de SourceOne Search SQL-database gepost.  Als de transactie een dubbele invoer bevat, hetzelfde bericht uit dezelfde toegewezen map, van een treffer die al is geplaatst door dezelfde of vorige transactie voor dezelfde zoekopdracht, wordt een fout met betrekking tot de schending van de primaire sleutel geretourneerd en wordt de transactie teruggedraaid.  De treffers in de teruggedraaide transactie worden niet toegevoegd aan de resultatenset van de zoekopdracht.

Resolution

Dell EMC raadt klanten aan een van de volgende SourceOne Email Management-patches toe te passen voor de geïnstalleerde versie 7.2:

7.2 SP6 HF4 (7.2.6.6229)
7.2 SP7 of hoger

Downloads zijn beschikbaar op de productpagina van SourceOne Email Management op: http://support.emc.com

Zodra een versie van SourceOne Email Management met de oplossing is geïnstalleerd, wordt verwacht dat alle toekomstige zoekopdrachten worden voltooid met alle resultaten.  Alle zoekopdrachten die worden uitgevoerd tijdens het uitvoeren van een getroffen versie moeten opnieuw worden uitgevoerd om volledigheid van de resultaten te garanderen.

In SourceOne Email Management versie 7.2.8 is het mogelijk om via indexvalidatie te identificeren welke indexsets dubbele inhoud of inhoud met "Extra items" bevatten. Deze validatieresultaten kunnen worden gebruikt om te bepalen welke zoekopdrachten opnieuw moeten worden uitgevoerd. Voer de volgende stappen uit:  

Configureer eerst het scannen van indexvalidatie met behulp van modus 2 of hoger. Indexvalidatie markeert probleemindexsets met een geel uitroepteken (!) en de status van de index is "Extra items".  Als scans zijn uitgevoerd op een eerdere release, kan een nieuwe scan worden uitgevoerd in de SourceOne Email Management-console door met de rechtermuisknop op elke YYYYMM-map te klikken en "Rescan" te selecteren.  Nadat de scans zijn voltooid, moeten alle indexen met de status "Extra items" opnieuw worden samengesteld voordat de betreffende SourceOne-zoekopdrachten opnieuw worden uitgevoerd.

De volgende stappen zijn het identificeren van eventuele SourceOne zoekopdrachten op het web die eerder zijn uitgevoerd en die mogelijk in een probleemindexset zouden hebben gezocht.

NOTITIE: Bij de onderstaande SQL-query's wordt ervan uitgegaan dat de naam van de SourceOne-databases standaard is. Als dit niet het geval is, moet de query worden gewijzigd met de juiste naam van de SourceOne Database Names.

Voer eerst de volgende SQL-query's uit om eerdere SourceOne-zoekopdrachten op het web te identificeren die eerder zijn uitgevoerd ten tijde van dit probleem:

1. Voer de volgende query uit om de installatiedatum en upgradedatums van de SourceOne-omgeving vast te leggen:

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. Voer de volgende query uit om alle informatie te verzamelen voor de SourceOne zoekopdrachten op het web die zijn uitgevoerd op basis van de datums die zijn opgehaald in stap 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. Voer de volgende query uit om alle informatie uit te voeren over de zoekopdrachten die mogelijk worden beïnvloed. De uitvoer bevat de basisinformatie over SourceOne Web Search, waaronder: 
 

SearchName: De naam van de zoekopdracht zoals deze wordt weergegeven in het venster SourceOne Email Management Console\Operations\Job Management.
JobID: De JobID-waarde in de taakbeheervensters van de SourceOne Email Management Console.
Starttijd: De datum\tijd waarop de zoekopdracht is uitgevoerd.
Zoeken Start\Einddatum: De datumcriteria die worden gebruikt bij de zoekopdracht. Als er geen datumveld is gebruikt bij het zoeken, zijn ALLE datums doorzocht.
Executing user: De gebruiker die de zoekopdracht heeft gemaakt en uitgevoerd.
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


OPMERKING: Ga pas verder met de volgende stappen nadat de indexvalidatie is voltooid.

Voer vervolgens de volgende SQL-query's uit om problematische SourceOne indexsets en hun statussen te identificeren:


1. Voer de volgende query uit om de installatiedatum en upgradedatums van de SourceOne-omgeving vast te leggen:

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. Voer de volgende query uit om alle SourceOne-indexen vast te leggen die op enig moment zijn gemarkeerd als 'Extra items':

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. Voer de volgende query uit om SourceOne-indexen vast te leggen die opnieuw zijn opgebouwd ten tijde van het probleem: 

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. Voer de volgende query uit om SourceOne-indexen vast te leggen waarvan de validatie is mislukt of over het hoofd is gezien tijdens het indexvalidatieproces na een upgrade naar 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. Als u deze laatste query uitvoert, worden alle mogelijk getroffen SourceOne-indexen uitgevoerd. Alle zoekopdrachten die tegen indexen werden uitgevoerd die waren gemarkeerd als 'Extra items', moeten opnieuw worden uitgevoerd om de juiste resultaten te krijgen. Alle zoekopdrachten die zijn uitgevoerd op indexen die zijn 'Opnieuw opgebouwd', moeten mogelijk opnieuw worden uitgevoerd omdat een heropbouw van een index zou zijn opgelost, maar dit hangt af van wanneer de zoekopdracht is uitgevoerd op de opnieuw opgebouwde indexset.

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

Deze inhoud is vertaald naar andere talen: 
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.