SourceOne Email Management: Služba WebSearch nemusí zobrazit úplnou sadu výsledků vyhledávání
Summary: Vyhledávání WebSearch nemusí vrátit úplnou sadu výsledků vyhledávání.
Symptoms
Při fulltextovém vyhledávání v indexu nemusí být všechny výsledky potvrzeny do databáze SourceOne Search. V důsledku toho mohou být výsledky vyhledávání neúplné.
Tento problém nemusí mít vliv na každé vyhledávání. Výskyt tohoto problému bude záviset na existenci duplicitních zpráv ve fulltextovém indexu a na pořadí, ve kterém jsou tyto výsledky vráceny. K tomuto problému dochází spíše v systémech, kde:
- Ve fulltextovém rejstříku existují duplicitní položky
- Byla povolena možnost MaxSearchHitsThreads.
- Existují archivy In-Place Migration, kde byla data z více serverů EmailXtender migrována do jedné mapované složky SourceOne.
Cause
Resolution
Společnost Dell EMC doporučuje, aby zákazníci pro nainstalovanou verzi 7.2 nainstalovali jednu z následujících oprav nástroje SourceOne Email Management:
7.2 SP6 HF4 (7.2.6.6229)
7.2 SP7 nebo vyšší
Soubory ke stažení jsou k dispozici na stránce produktu SourceOne Email Management na adrese: http://support.emc.com
Jakmile je nainstalována verze nástroje SourceOne Email Management s opravou, očekává se, že všechna budoucí vyhledávání dokončí všechny výsledky. Aby byla zaručena úplnost výsledků, bude nutné znovu provést všechna hledání provedená při spuštění dotčené verze.
V softwaru SourceOne Email Management verze 7.2.8 může být možné pomocí ověření indexu určit, které sady indexů mají duplicitní obsah nebo obsah "Extra Items". Tyto výsledky ověření lze použít k identifikaci hledání, která je potřeba znovu spustit. Proveďte následující postup:
Nejprve nakonfigurujte kontrolu Ověření indexu pomocí režimu 2 nebo vyššího. Ověření indexu označí problémové sady indexů žlutým vykřičníkem (!) a stav indexu bude "Extra Items". Pokud byly kontroly spuštěny v předchozí verzi, lze je znovu spustit v konzoli SourceOne Email Management kliknutím pravým tlačítkem myši na každou složku RRRRMM a výběrem možnosti "Rescan". Po dokončení skenování musí být všechny indexy se stavem "Extra Items" úspěšně obnoveny, než budou znovu spuštěna jakákoli dotčená vyhledávání na webu SourceOne.
Dalším krokem je identifikace všech potenciálních vyhledávání na webu SourceOne, která byla dříve spuštěna a která by potenciálně prohledávala problémovou sadu indexů.
POZNÁMKA: Níže uvedené dotazy SQL předpokládají, že název databází SourceOne je výchozí. Pokud tomu tak není, bude nutné dotaz upravit se správným názvem názvů databáze SourceOne.
Chcete-li identifikovat všechna minulá vyhledávání na webu SourceOne, která byla dříve spuštěna v době tohoto problému, spusťte následující dotazy SQL:
1. Spuštěním následujícího dotazu zaznamenejte datum instalace a data upgradu prostředí 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. Spuštěním následujícího dotazu shromážděte všechny informace o vyhledávání na webu SourceOne, která byla spuštěna na základě dat načtených v kroku 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. Spuštěním následujícího dotazu vypíšete všechny informace týkající se hledání, která mohou být ovlivněna. Výstup bude obsahovat základní informace o službě SourceOne Web Search, včetně:
| SearchName: | Název hledání, jak se zobrazuje v okně SourceOne Email Management Console\Operations\Job Management. |
| ID úlohy: | Hodnota JobID nalezená v oknech Správa úloh konzoly pro správu e-mailu SourceOne. |
| Čas zahájení: | Datum a čas, kdy bylo hledání provedeno. |
| Počáteční &Koncové datum hledání: | Kritérium data použité při hledání. Pokud nebylo při hledání použito žádné pole Datum, byla prohledána VŠECHNA data. |
| Spouštějící uživatel: | Uživatel, který vytvořil a spustil vyhledávání. |
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
POZNÁMKA: Následujícími kroky pokračujte až po dokončení ověření indexu.
Chcete-li dále identifikovat problematické sady indexů SourceOne a jejich stavy, spusťte následující dotazy SQL:
1. Spuštěním následujícího dotazu zaznamenejte datum instalace a data upgradu prostředí 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. Spuštěním následujícího dotazu zachyťte všechny indexy SourceOne, které byly kdykoli označeny jako "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. Spuštěním následujícího dotazu zachyťte všechny indexy SourceOne, které byly v době problému znovu vytvořeny:
use ES1Archiveselect 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,CmdTypeGOupdate #Rebuilt set [Archive_Index Path] = replace([Archive_Index Path],char(13),'')update #Rebuilt set [Archive_Index Path] = replace([Archive_Index Path],char(10),'')GOset IDENTITY_Insert #ExtraItems ONinsert 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. Spuštěním následujícího dotazu zachytíte všechny indexy SourceOne, které byly po upgradu na SourceOne 7.2 SP8 Ověření se nezdařilo nebo chybělo během procesu ověření indexu:
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. Spuštěním tohoto posledního dotazu se zobrazí výstup všech potenciálně ovlivněných indexů SourceOne. Všechna vyhledávání, která běžela proti indexům, byla označena jako "Extra položky", by bylo nutné znovu provést, aby se získaly správné výsledky. Všechna hledání, která byla spuštěna proti indexům, které byly znovu sestaveny, může být potenciálně nutné znovu spustit, protože opětovné sestavení indexu by se vyřešilo, ale závisí na tom, kdy bylo hledání spuštěno proti znovu sestavené sadě indexů.
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
| 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 |