SourceOne Email Management: Es posible que WebSearch no devuelva un conjunto completo de resultados de búsqueda

Summary: Es posible que WebSearch no devuelva un conjunto completo de resultados de búsqueda.

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


Durante una búsqueda de índice de texto completo, es posible que no todos los resultados se confirmen en la base de datos de SourceOne Search. En consecuencia, los resultados de la búsqueda pueden estar incompletos.
Es posible que este problema no afecte a todas las búsquedas. La aparición de este problema dependerá de la existencia de mensajes duplicados en el índice de texto completo y del orden en que se devuelven esos resultados. Es más probable que este problema ocurra en sistemas donde:

  • Existen elementos duplicados en el índice de texto completo
  • Se habilitó la opción MaxSearchHitsThreads
  • Los archivos de migración en el lugar existen donde los datos de varios servidores de EmailXtender se migraron a una sola carpeta mapeada de SourceOne.   

Cause

Cuando se ejecuta una búsqueda web en SourceOne, el proceso de búsqueda buscará coincidencias con los criterios de búsqueda, o resultados, en el índice.  Una vez que la cantidad de resultados llega a 5000 o la búsqueda se completa, los resultados se publican en la base de datos de SourceOne Search SQL a través de una transacción de SQL.  Si la transacción contiene una entrada duplicada, el mismo mensaje de la misma carpeta asignada, de una visita ya publicada por la misma transacción o una anterior para la misma búsqueda, se devuelve un error de infracción de clave principal y se revierte la transacción.  Los resultados contenidos en la transacción revertida no se agregarán al conjunto de resultados de la búsqueda.

Resolution

Dell EMC recomienda que los clientes apliquen uno de los siguientes parches de administración de correo electrónico de SourceOne para la versión 7.2 instalada:

7.2 SP6 HF4 (7.2.6.6229)
7.2 SP7 o superior

Las descargas están disponibles en la página del producto SourceOne Email Management en: http://support.emc.com

Una vez que se instala una versión de SourceOne Email Management con la corrección, se espera que todas las búsquedas futuras se completen con todos los resultados.  Todas las búsquedas realizadas mientras se ejecuta una versión afectada deberán ejecutarse nuevamente para garantizar la integridad de los resultados.

En la versión 7.2.8 de SourceOne Email Management puede ser posible identificar qué conjuntos de índices tienen contenido duplicado o "Elementos adicionales" a través de la validación del índice. Estos resultados de validación se pueden utilizar para identificar qué búsquedas se deben volver a ejecutar. Siga los siguientes pasos:  

En primer lugar, configure el análisis de validación de índice mediante el modo 2 o superior. La validación del índice marcará los conjuntos de índices problemáticos con un signo de exclamación amarillo (!) y el estado del índice será "Elementos adicionales".  Si los análisis se han ejecutado en una versión anterior, se puede volver a realizar un análisis en la consola de administración de correo electrónico de SourceOne haciendo clic con el botón secundario en cada carpeta AAAA y seleccionando "Volver a escanear".  Una vez finalizados los análisis, todos los índices con el estado "Elementos adicionales" deben regenerarse correctamente antes de volver a ejecutar las búsquedas web de SourceOne afectadas.

Los siguientes pasos son identificar cualquier posible búsqueda web de SourceOne que se haya ejecutado anteriormente y que potencialmente hubiera buscado en un conjunto de índices de problemas.

NOTA: Las consultas SQL que aparecen a continuación suponen que el nombre de las bases de datos de SourceOne es el predeterminado. Si no lo están, la consulta deberá modificarse con el nombre correcto de los nombres de base de datos de SourceOne.

En primer lugar, para identificar las búsquedas web de SourceOne anteriores que se ejecutaron anteriormente durante el momento de este problema, ejecute las siguientes consultas SQL:

1. Ejecute la siguiente consulta para capturar la fecha de instalación y las fechas de actualización del entorno de 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. Ejecute la siguiente consulta para reunir toda la información de las búsquedas web de SourceOne que se ejecutaron en función de las fechas recuperadas en el Paso 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. Ejecute la siguiente consulta para generar toda la información sobre las búsquedas que puedan verse afectadas. El resultado incluirá la información básica sobre SourceOne Web Search, que incluye: 
 

Nombre de búsqueda: El nombre de la búsqueda tal como aparece en la ventana SourceOne Email Management Console\Operations\Job Management.
ID de trabajo: El valor de JobID que se encuentra en las ventanas de Administración de trabajos de la consola de administración de correo electrónico de SourceOne.
Hora de inicio: La fecha y la hora en que se ejecutó la búsqueda.
Fecha de inicio/finalización de la búsqueda: Los criterios de fecha utilizados en la búsqueda. Si no se utilizó ningún campo de fecha en la búsqueda, se buscaron TODAS las fechas.
Usuario en ejecución: El usuario que creó y ejecutó la búsqueda.
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


NOTA: Continúe con los siguientes pasos solo después de que se haya completado la validación del índice.

A continuación, para identificar los conjuntos de índices de SourceOne problemáticos y sus estados, ejecute las siguientes consultas SQL:


1. Ejecute la siguiente consulta para capturar la fecha de instalación y las fechas de actualización del entorno de 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. Ejecute la siguiente consulta para capturar los índices de SourceOne que, en cualquier momento, se marcaron como "Elementos adicionales":

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. Ejecute la siguiente consulta para capturar los índices de SourceOne que se hayan reconstruido durante el momento del problema: 

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. Ejecute la siguiente consulta para capturar los índices de SourceOne en los que se produjo un error en la validación o se perdieron durante el proceso de validación del índice después de actualizar a 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. La ejecución de esta consulta final generará todos los índices de SourceOne potencialmente afectados. Todas las búsquedas que se ejecutaron en índices y se marcaron como "Elementos adicionales" tendrían que volver a ejecutarse para obtener los resultados correctos. Es posible que las búsquedas que se ejecutaron en índices "reconstruidos" deban volver a ejecutarse, ya que se habría resuelto una reconstrucción de un índice, pero depende del momento en que se ejecutó la búsqueda en el conjunto de índices reconstruido.

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

Este contenido está traducido en otros idiomas: 
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.