SourceOne Email Management: WebSearch returnerer kanskje ikke et fullstendig sett med søkeresultater

Summary: WebSearch returnerer kanskje ikke et fullstendig sett med søkeresultater.

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


Under et fulltekstindekssøk kan det hende at alle resultater ikke blir lagt til SourceOne Search-databasen. Søkeresultatene kan derfor være ufullstendige.
Det kan hende at dette problemet ikke påvirker alle søk. Forekomsten av dette problemet avhenger av eksistensen av like meldinger i fulltekstindeksen og rekkefølgen som disse resultatene returneres i. Det er mer sannsynlig at dette problemet oppstår på systemer der:

  • Det finnes dupliserte elementer i fulltekstindeksen
  • Alternativet MaxSearchHitsThreads er aktivert
  • Det finnes arkiver for overføring på stedet der data fra flere EmailXtender-servere ble migrert til en enkelt SourceOne-tilordnet mappe.   

Cause

Når du kjører et SourceOne Web Search, vil søkeprosessen se etter treff til søkekriteriene, eller treffene, i indeksen.  Når antall treff når 5000, eller søket er fullført, blir resultatene lagt til SourceOne Search SQL-databasen via en SQL-transaksjon.  Hvis transaksjonen inneholder en duplisert oppføring, den samme meldingen fra den samme tilordnede mappen om et treff som allerede er lagt inn av den samme eller forrige transaksjon for det samme søket, returneres en brudd på primærnøkkelen, og transaksjonen rulles tilbake.  Disse treffene i tilbakerullingstransaksjonen vil ikke bli lagt til i resultatsettet for søket.

Resolution

Dell EMC anbefaler at kunder bruker én av følgende oppdateringer for SourceOne-e-postadministrasjon for 7.2-versjonen som er installert:

7.2 SP6 HF4 (7.2.6.6229)
7.2 SP7 eller senere

Nedlastinger er tilgjengelige på produktsiden for SourceOne Email Management på : http://support.emc.com

Når en versjon av SourceOne Email Management med feilrettingen er installert, forventes alle fremtidige søk å fullføres med alle resultater.  Alle søk som utføres mens du kjører en berørt versjon, må utføres på nytt for å garantere at resultatene er fullstendige.

I SourceOne Email Management versjon 7.2.8 kan det være mulig å identifisere hvilke indekssett som har dupliserte eller "Extra Items"-innhold gjennom indeksvalidering. Disse valideringsresultatene kan brukes til å identifisere hvilke søk som må kjøres på nytt. Utfør følgende trinn:  

Først konfigurerer du indeksvalideringsskanning ved hjelp av modus 2 eller høyere. Indeksvalidering vil flagge problemindekssett med et gult utropstegn (!), og statusen til indeksen vil være "Ekstra elementer".  Hvis skanninger har blitt kjørt på en tidligere versjon, kan en ny skanning utføres i SourceOne Email Management-konsollen ved å høyreklikke på hver YYYYMM-mappe og velge "Rescan".  Når skanningene er fullført, må alle indekser med statusen "Ekstra elementer" bygges på nytt før eventuelle berørte SourceOne-nettsøk kjøres på nytt.

De neste trinnene er å identifisere eventuelle potensielle SourceOne Web Searches som tidligere ble kjørt som potensielt ville ha søkt på tvers av et problemindekssett.

NOTAT: SQL-spørringene nedenfor forutsetter at navnet på SourceOne-databasene er standard. Hvis de ikke er det, må spørringen endres med riktig navn på SourceOne-databasenavnene.

Først må du identifisere eventuelle tidligere SourceOne-websøk som tidligere ble kjørt i løpet av dette problemet, ved å kjøre følgende SQL-spørringer:

1. Kjør følgende spørring for å registrere installasjonsdatoen og oppgraderingsdatoene for SourceOne-miljøet:

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. Kjør følgende spørring for å samle all informasjon for SourceOne-websøkene som ble kjørt basert på datoene som ble hentet i trinn 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. Kjør følgende spørring for å sende ut all informasjon om søkene som muligens er berørt. Resultatet vil inneholde grunnleggende informasjon om SourceOne Web Search inkludert: 
 

SearchName: Navnet på søket slik det vises i vinduet SourceOne Email Management Console\Operations\Job Management.
Jobb-ID: JobID-verdien som finnes i Jobbbehandling-vinduene i SourceOne Email Management Console.
Starttid: Datoen\Klokkeslettet da søket ble utført.
Søk etter start\sluttdato: Dato-kriteriene som brukes i søket. Hvis det ikke ble brukt noe datofelt i søket, ble ALLE datoer søkt.
Utførende bruker: Brukeren som opprettet og kjørte søket.
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


MERK: Fortsett bare med følgende trinn etter at indeksvalideringen er fullført.

Deretter, for å identifisere problematiske SourceOne Index sett og deres tilstander, kjører du følgende SQL-spørringer:


1. Kjør følgende spørring for å registrere installasjonsdatoen og oppgraderingsdatoene for SourceOne-miljøet:

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. Utfør følgende spørring for å registrere eventuelle SourceOne-indekser som til enhver tid ble merket som "Ekstra elementer":

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. Kjør følgende spørring for å registrere eventuelle SourceOne-indekser som ble gjenoppbygd i løpet av problemet: 

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. Utfør følgende spørring for å registrere eventuelle SourceOne-indekser som var Valideringen mislyktes eller ble oversett under indeksvalideringsprosessen etter oppgradering til 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. Hvis du utfører denne endelige spørringen, sendes alle potensielt berørte SourceOne-indekser. Alle søk som kjørte mot indekser, ble merket som "Ekstra elementer", måtte utføres på nytt for å få de riktige resultatene. Alle søk som ble kjørt mot indekser som ble "gjenoppbygd", må potensielt utføres på nytt fordi en gjenoppbygging av en indeks ville ha løst, men avhenger av når søket ble kjørt mot det gjenoppbygde indekssettet.

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

Dette innholdet er oversatt til andre språk: 
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.