SourceOne Email Management: WebSearch liefert möglicherweise keine vollständigen Suchergebnisse zurück

Summary: WebSearch liefert möglicherweise keine vollständigen Suchergebnisse zurück.

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


Während einer Volltextindexsuche werden möglicherweise nicht alle Ergebnisse in die SourceOne Search-Datenbank übernommen. Folglich können die Suchergebnisse unvollständig sein.
Dieses Problem wirkt sich möglicherweise nicht auf jede Suche aus. Das Auftreten dieses Problems hängt davon ab, ob doppelte Nachrichten im Volltextindex vorhanden sind, und von der Reihenfolge, in der diese Ergebnisse zurückgegeben werden. Dieses Problem tritt eher auf Systemen auf, auf denen Folgendes zutrifft:

  • Im Volltextindex sind doppelte Elemente vorhanden
  • Option MaxSearchHitsThreads wurde aktiviert
  • Es gibt In-Place-Migrationsarchive, in denen Daten von mehreren EmailXtender-Servern in einen einzigen zugeordneten SourceOne-Ordner migriert wurden.   

Cause

Beim Ausführen einer SourceOne-Websuche sucht der Suchprozess nach Übereinstimmungen mit den Suchkriterien oder Treffern im Index.  Sobald die Anzahl der Treffer 5.000 erreicht hat oder die Suche abgeschlossen ist, werden die Ergebnisse über eine SQL-Transaktion an die SQL-Datenbank von SourceOne Search gesendet.  Wenn die Transaktion einen doppelten Eintrag, dieselbe Nachricht aus demselben zugeordneten Ordner, eines Treffers enthält, der bereits von derselben oder einer vorherigen Transaktion für dieselbe Suche gepostet wurde, wird ein Fehler wegen Verletzung des Primärschlüssels zurückgegeben, und für die Transaktion wird ein Rollback ausgeführt.  Die Treffer, die in der Rollback-Transaktion enthalten sind, werden nicht zum Resultset der Suche hinzugefügt.

Resolution

Dell EMC empfiehlt Kunden, einen der folgenden SourceOne Email Management-Patches für die installierte Version 7.2 anzuwenden:

7.2 SP6 HF4 (7.2.6.6229)
7.2 SP7 oder höher

Downloads finden Sie auf der SourceOne Email Management-Produktseite unter: http://support.emc.com

Sobald eine Version von SourceOne Email Management mit dem Fix installiert ist, werden alle zukünftigen Suchvorgänge voraussichtlich mit allen Ergebnissen abgeschlossen.  Alle Suchvorgänge, die während der Ausführung einer betroffenen Version durchgeführt werden, müssen erneut ausgeführt werden, um die Vollständigkeit der Ergebnisse zu gewährleisten.

In SourceOne Email Management Version 7.2.8 ist es möglich, durch Indexvalidierung zu identifizieren, welche Indexsätze doppelte oder "Extra-Elemente"-Inhalte enthalten. Diese Validierungsergebnisse können verwendet werden, um zu ermitteln, welche Suchvorgänge erneut ausgeführt werden müssen. Führen Sie folgende Schritte aus:  

Konfigurieren Sie zunächst den Indexvalidierungs-Scan mit Modus 2 oder höher. Die Indexvalidierung kennzeichnet problematische Indexsätze mit einem gelben Ausrufezeichen (!) und der Status des Index lautet "Zusätzliche Elemente".  Wenn Scans auf einer früheren Version ausgeführt wurden, kann ein erneuter Scan in der SourceOne Email Management-Konsole ausgeführt werden, indem Sie mit der rechten Maustaste auf jeden JJJJMM-Ordner klicken und "Erneut scannen" auswählen.  Nach Abschluss der Scans müssen alle Indizes mit dem Status "Extra Items" erfolgreich neu erstellt werden, bevor betroffene SourceOne-Websuchen erneut ausgeführt werden.

Die nächsten Schritte bestehen darin, alle potenziellen SourceOne-Websuchen zu identifizieren, die zuvor ausgeführt wurden und möglicherweise einen problematischen Indexsatz durchsucht hätten.

ANMERKUNG: Bei den folgenden SQL-Abfragen wird davon ausgegangen, dass es sich bei den Namen der SourceOne-Datenbanken um Standardnamen handelt. Wenn dies nicht der Fall ist, muss die Abfrage mit dem korrekten Namen der SourceOne-Datenbanknamen geändert werden.

Um alle früheren SourceOne-Websuchen zu identifizieren, die zuvor während dieses Problems ausgeführt wurden, führen Sie zunächst die folgenden SQL-Abfragen aus:

1. Führen Sie die folgende Abfrage aus, um das Installationsdatum und die Upgradedaten der SourceOne-Umgebung zu erfassen:

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. Führen Sie die folgende Abfrage aus, um alle Informationen für die SourceOne-Websuchen zu sammeln, die basierend auf den in Schritt 1 abgerufenen Datumsangaben ausgeführt wurden:
 

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. Führen Sie die folgende Abfrage aus, um alle Informationen zu den möglicherweise betroffenen Suchvorgängen auszugeben. Die Ausgabe enthält die grundlegenden Informationen über die SourceOne-Websuche, einschließlich: 
 

Suchname: Der Name der Suche, wie er im Fenster SourceOne Email Management Console\Operations\Job Management angezeigt wird.
Job-ID: Der Job-ID-Wert, der in den Job-Management-Fenstern der SourceOne Email Management Console zu finden ist.
Startzeit: Datum/Uhrzeit der Ausführung der Suche.
Start-/Enddatum der Suche: Die in der Suche verwendeten Datumskriterien. Wenn kein Datumsfeld in der Suche verwendet wurde, wurden ALLE Daten durchsucht.
Ausführender Nutzer: Der Nutzer, der die Suche erstellt und ausgeführt hat.
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


HINWEIS: Fahren Sie erst mit den folgenden Schritten fort, nachdem die Indexvalidierung abgeschlossen ist.

Führen Sie als Nächstes die folgenden SQL-Abfragen aus, um problematische SourceOne-Indexsätze und ihre Zustände zu identifizieren:


1. Führen Sie die folgende Abfrage aus, um das Installationsdatum und die Upgradedaten der SourceOne-Umgebung zu erfassen:

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. Führen Sie die folgende Abfrage aus, um alle SourceOne-Indizes zu erfassen, die zu einem beliebigen Zeitpunkt als "Zusätzliche Elemente" markiert wurden:

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. Führen Sie die folgende Abfrage aus, um alle SourceOne-Indizes zu erfassen, die während der Zeit des Problems neu erstellt wurden: 

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. Führen Sie die folgende Abfrage aus, um alle SourceOne-Indizes zu erfassen, bei denen die Validierung fehlgeschlagen ist oder die während des Indexvalidierungsprozesses nach dem Upgrade auf SourceOne 7.2 SP8 ausgelassen wurden:

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. Wenn Sie diese letzte Abfrage ausführen, werden alle potenziell betroffenen SourceOne-Indizes ausgegeben. Alle Suchvorgänge, die für Indizes ausgeführt wurden, die als "Zusätzliche Elemente" markiert waren, müssten erneut ausgeführt werden, um die richtigen Ergebnisse zu erhalten. Alle Suchvorgänge, die für Indizes ausgeführt wurden, die "neu erstellt" wurden, müssen möglicherweise erneut ausgeführt werden, da eine Neuerstellung eines Indexes aufgelöst worden wäre, aber davon abhängt, wann die Suche für den neu erstellten Indexsatz ausgeführt wurde.

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

Diese Inhalte werden in andere Sprachen übersetzt: 
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.