Adición de un nuevo campo de búsqueda
Servigistics InService tiene los dos tipos de campos de búsqueda siguientes:
• Campo de término
• Campo de texto completo
Para añadir un campo de búsqueda nuevo, siga los siguientes pasos:
1. Si el campo de búsqueda deseado no existe en el fichero Types/globalDefinitions.xml, defina el nuevo campo de búsqueda. Para ello, añada una nueva entrada en la sección Search Attributes de globalDefinitions.xml.
Por ejemplo:
<SearchField Label="Region" Name="REGION" Length="20" Type="Term"/>
<SearchField Label="Load Date" Name="PubDate" Type="Date"/>
<SearchField Name="FULLTEXT_PARTNAME">
Si desea añadir un campo de búsqueda según la fecha, el formato necesario que se debe usar en el almacén es: AAAAMMDD; por ejemplo, 20150729. Se debe tener en cuenta que, si el documento de entrada tiene un formato de fecha distinto, se debe disponer del código XSL que transforma el formato de entrada al formato requerido.
2. Si el campo de búsqueda deseado no existe en la propiedad de tipo, añada el campo de búsqueda recién definido en los tipos de interés.
Por ejemplo, para los siguientes datos de entrada de la estructura XML:
<Object>
<region>IN</region>
</Object>
Se pueden añadir los siguientes campos de búsqueda:
<SearchField Name="REGION">
<FieldMapping TemplateID="ResultField_TYPENAME_Attribute " XPath=" Object ">
<xsl:template xmlns:xsl="http://www.w3.org/1999/XSL/Transform" Type=" XPath">
<xsl:value-of select="region"/>
</xsl:template>
</FieldMapping>
</SearchField>
<SearchField Name="FULLTEXT_REGION ">
<FullTextMapping XPath="region"/>
</SearchField>
3. Si ya se han cargado los datos, realice una nueva indexación de los datos de los nuevos activos. De lo contrario, siga el proceso normal de carga de datos.
Las búsquedas globales de la interfaz de Servigistics InService suelen devolver resultados basados en el campo de búsqueda FULLTEXT que se ha definido en los tipos individuales. Si desea añadir atributos adicionales a la búsqueda global existente, se debe incluir el objeto XPATH del atributo o elemento deseado del XML de origen como un elemento FullTextMapping.
Por ejemplo, supongamos que el usuario tiene el siguiente XML de origen de un objeto de negocio Part
<Part>
<partName>MY PART</partName>
<partNumber>PRT000012121</partNumber>
</Part>
<!--
As per following type definition of above source xml, you can only
search this Part through partName(that is MY PART) only. Not through
partNumber(PRT000012121)
-->
<SearchField Name="FULLTEXT_PARTNAME">
<FullTextMapping XPath="Part/partName"/>
</SearchField>
<!--
If you want to search based on partNumber then you must update the type
defintion for Part Object. And in type definition file, you must add xpath for
partNumber (Part/partNumber) in search field
mapping as defined below.
-->
<SearchField Name="FULLTEXT">
<FullTextMapping XPath="Part/partName"/>
<FullTextMapping XPath="Part/partNumber"/>
</SearchField>
Se debe tener en cuenta que todo el código XML de origen se puede definir como parte de una búsqueda global entregando el elemento raíz (*/*) como el elemento XPATH para los criterios de búsqueda de texto completo. Por ejemplo:
<SearchField Name="FULLTEXT">
<FullTextMapping XPath="*/*"/>
</SearchField>