Servigistics InService のパブリッシングおよびロード > 追加情報 > TAL のカスタマイズ > 新しいサーチフィールドの追加
  
新しいサーチフィールドの追加
Servigistics InService には以下の 2 つのタイプのサーチフィールドがあります。
用語フィールド
完全テキストフィールド
新しいサーチフィールドを追加するには、次の手順に従います。
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>