SourceOne Email Management: WebSearch는 전체 검색 결과 집합을 반환하지 않을 수 있습니다.
Summary: WebSearch는 전체 검색 결과 집합을 반환하지 않을 수 있습니다.
Symptoms
전체 텍스트 인덱스 검색 중에는 모든 결과가 SourceOne Search 데이터베이스에 커밋되지 않을 수 있습니다. 따라서 검색 결과가 불완전할 수 있습니다.
이 문제는 모든 검색에 영향을 미치지 않을 수 있습니다. 이 문제의 발생 여부는 전체 텍스트 인덱스에 중복 메시지가 있는지 여부와 해당 결과가 반환되는 순서에 따라 달라집니다. 이 문제는 다음과 같은 시스템에서 발생할 가능성이 높습니다.
- 전체 텍스트 인덱스에 중복 항목이 있습니다.
- MaxSearchHitsThreads 옵션이 활성화되었습니다.
- 원본 위치 마이그레이션 아카이브는 여러 EmailXtender 서버의 데이터가 단일 SourceOne 매핑 폴더로 마이그레이션된 곳에 있습니다.
Cause
Resolution
Dell EMC는 설치된 7.2 버전에 대해 다음 SourceOne 이메일 관리 패치 중 하나를 적용할 것을 권장합니다.
7.2 SP6 HF4(7.2.6.6229)
7.2 SP7 이상
다운로드는 다음 SourceOne 이메일 관리 제품 페이지에서 다운로드할 수 있습니다. http://support.emc.com
수정 사항이 포함된 SourceOne Email Management 버전이 설치되면 이후의 모든 검색이 완료되고 모든 결과가 표시됩니다. 영향을 받는 버전을 실행하는 동안 수행된 모든 검색은 결과의 완전성을 보장하기 위해 다시 실행해야 합니다.
SourceOne Email Management 버전 7.2.8에서는 인덱스 유효성 검사를 통해 중복 또는 "추가 항목" 콘텐츠가 있는 인덱스 세트를 식별할 수 있습니다. 이러한 검증 결과를 사용하여 다시 실행해야 하는 검색을 식별할 수 있습니다. 다음 단계를 수행하십시오.
먼저, 모드 2 이상을 사용하여 인덱스 유효성 검사 검사를 구성합니다. 인덱스 유효성 검사는 문제가 있는 인덱스 집합에 노란색 느낌표(!)로 플래그를 지정하고 인덱스의 상태는 "Extra Items"가 됩니다. 이전 릴리스에서 스캔이 실행된 경우 SourceOne 이메일 관리 콘솔에서 각 YYYYMM 폴더를 마우스 오른쪽 버튼으로 클릭하고 "Rescan"을 선택하여 다시 스캔을 실행할 수 있습니다. 검사가 완료된 후 영향을 받는 SourceOne 웹 검색을 다시 실행하기 전에 상태가 "Extra Items"인 모든 인덱스를 성공적으로 다시 작성해야 합니다.
다음 단계는 이전에 실행된 SourceOne 웹 검색 중 문제 인덱스 세트에서 잠재적으로 검색되었을 가능성이 있는 항목을 식별하는 것입니다.
메모: 아래 SQL 쿼리에서는 SourceOne 데이터베이스의 이름이 기본값이라고 가정합니다. 그렇지 않은 경우 SourceOne 데이터베이스 이름의 올바른 이름으로 쿼리를 수정해야 합니다.
먼저, 이 문제가 발생한 동안 이전에 실행된 과거의 SourceOne 웹 검색을 식별하려면 다음 SQL 쿼리를
실행합니다.1. 다음 쿼리를 실행하여 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. 다음 쿼리를 실행하여 1단계에서 검색한 날짜를 기준으로 실행된 SourceOne Web Search에 대한 모든 정보를 수집합니다.
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. 영향을 받을 수 있는 검색과 관련된 모든 정보를 출력하려면 다음 쿼리를 실행합니다. 출력에는 다음을 포함하여 SourceOne Web Search에 대한 기본 정보가 포함됩니다.
| 검색 이름: | SourceOne Email Management Console\Operations\Job Management 창에 표시되는 검색 이름입니다. |
| 작업 ID: | SourceOne 이메일 관리 콘솔의 작업 관리 창에 있는 JobID 값입니다. |
| 시작 시간: | 검색이 실행된 날짜\시간입니다. |
| 검색 시작\종료 날짜: | 검색에 사용된 날짜 기준입니다. 검색에 날짜 필드가 사용되지 않은 경우 모든 날짜가 검색되었습니다. |
| 실행 중인 사용자: | 검색을 생성하고 실행한 사용자입니다. |
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
참고: 인덱스 유효성 검사가 완료된 후에만 다음 단계를 진행하십시오.
그런 다음 문제가 있는 SourceOne 인덱스 집합과 해당 상태를 식별하기 위해 다음 SQL 쿼리를 실행합니다.
1. 다음 쿼리를 실행하여 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. 다음 쿼리를 실행하여 언제든지 "Extra Items"로 표시된 SourceOne 인덱스를 캡처할 수 있습니다.
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. 다음 쿼리를 실행하여 문제가 발생한 동안 재구축된 SourceOne 인덱스를 모두 캡처합니다.
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. SourceOne 7.2 SP8로 업그레이드한 후 인덱스 유효성 검사 프로세스 중에 유효성 검사에 실패했거나 누락된 SourceOne 인덱스를 캡처하려면 다음 쿼리를 실행합니다.
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. 이 최종 쿼리를 실행하면 잠재적으로 영향을 받을 수 있는 모든 SourceOne 인덱스가 출력됩니다. 인덱스에 대해 실행된 모든 검색은 "추가 항목"으로 표시되어 올바른 결과를 얻으려면 다시 실행해야 합니다. "다시 작성된" 인덱스에 대해 실행된 모든 검색은 인덱스의 다시 작성이 확인되었지만 다시 작성된 인덱스 집합에 대해 검색이 실행된 시기에 따라 달라지기 때문에 잠재적으로 다시 실행해야 할 수 있습니다.
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 |