Servigistics InService 发布和加载 > 其他信息 > TAL 自定义 > 添加新的搜索字段
  
添加新的搜索字段
Servigistics InService 具有以下两类搜索字段:
术语字段
完整文本字段
请按照以下步骤添加新的搜索字段:
1. 如果 Types/globalDefinitions.xml 文件中不含所需的搜索字段,请通过在 globalDefinitions.xmlSearch Attributes 部分中添加新条目来定义新搜索字段。
例如:
<SearchField Label="Region" Name="REGION" Length="20" Type="Term"/>
<SearchField Label="Load Date" Name="PubDate" Type="Date"/>
<SearchField Name="FULLTEXT_PARTNAME">
如果要添加日期的搜索字段,则在信息库中所需的格式为 YYYYMMDD,例如 20150729。请注意,如果输入文档具有一些其他日期格式,则必须具有可将输入格式变换为所需格式的 XSL 代码。
2. 如果类型特性中不含所需的搜索字段,请在感兴趣的类型中添加新定义的搜索字段。
例如,对于 XML 结构中的以下输入数据:
<Object>
<region>IN</region>
</Object>
可添加以下搜索字段:
<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. 如果数据已加载,请重新索引新资产的数据。否则,请遵照普通数据加载进程。
Servigistics InService 界面全局搜索通常基于在各个类型上定义的 FULLTEXT 搜索字段返回结果。如果要将其他属性添加到现有全局搜索,必须将源 XML 中的所需属性或元素的 XPATH 作为 FullTextMapping 元素包括在内。
例如,假定具有业务对象 Part 的以下源 XML:
<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>
请注意,通过将根元素 (*/*) 作为其全文搜索条件的 XPATH 进行传递,您可以将整个源 XML 指定为全局搜索的一部分。例如:
<SearchField Name="FULLTEXT">
<FullTextMapping XPath="*/*"/>
</SearchField>