Aggiunta di un nuovo campo di ricerca
In Servigistics InService sono presenti i due seguenti tipi di campo di ricerca:
• Campo terminologico
• Campo di testo completo
Per aggiungere un nuovo campo di ricerca, attenersi alla procedura indicata di seguito.
1. Se il campo di ricerca desiderato non esiste nel file Types/globalDefinitions.xml, definirne uno nuovo aggiungendo una nuova voce nella sezione Search Attributes del file globalDefinitions.xml.
Esempio:
<SearchField Label="Region" Name="REGION" Length="20" Type="Term"/>
<SearchField Label="Load Date" Name="PubDate" Type="Date"/>
<SearchField Name="FULLTEXT_PARTNAME">
Se si desidera aggiungere un campo di ricerca per una data, il formato richiesto nel repository è AAAAMMGG, ad esempio 20150729. Se il documento di input presenta altri formati di data, è necessario utilizzare codice XSL che trasformi il formato di input nel formato richiesto.
2. Se il campo di ricerca desiderato non esiste nella proprietà del tipo, aggiungere quello appena definito nei tipi di interesse.
Ad esempio per i dati di input seguenti nella struttura XML:
<Object>
<region>IN</region>
</Object>
È possibile aggiungere i campi di ricerca seguenti.
<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. Se i dati sono già caricati, eseguire una nuova indicizzazione dei dati per i nuovi asset. In caso contrario, seguire il normale processo di caricamento.
La ricerca globale nell'interfaccia di Servigistics InService restituisce in genere i risultati in base al campo di ricerca FULLTEXT definito nei singoli tipi. Se si desidera aggiungere attributi aggiuntivi alla ricerca globale esistente, è necessario includere l'XPATH per l'attributo o l'elemento desiderato dal codice XML di origine come elemento FullTextMapping.
Si supponga ad esempio di avere il seguente codice XML di origine per un business object 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>
Notare che è possibile specificare l'intero XML di origine come parte della ricerca globale passando l'elemento radice (*/*) come XPATH per i criteri di ricerca completa. Esempio:
<SearchField Name="FULLTEXT">
<FullTextMapping XPath="*/*"/>
</SearchField>