ここでは、Symfoware Server、Accela BizSearchの検索サーバおよび検索データベースの関係を説明します。
基本的な対応関係は、“図2.11 検索サーバと検索データベースが1:1の場合”、または、“図2.12 検索サーバと検索データベースが1:nの場合”の形態になります。
“図2.11 検索サーバと検索データベースが1:1の場合”は、検索データベースを1つだけ用意する場合です。ある表に対してだけインデックスを付ける場合が相当します。この場合は、検索サーバと検索データベースの関係は1:1となります。以下の図では、検索データベースの名前を「SearchDB1」とし、この検索データベースを処理する検索サーバのホスト名を「IShost1」としています。この場合、Textアダプタ定義の<TargetSearchDBname>タグのhost属性の値に検索サーバのホスト名('IShost1')を、また、<TargetSearchDBname>タグの値に検索データベース名(SearchDB1)を指定します。
図2.11 検索サーバと検索データベースが1:1の場合
<TextAdapterDef> <ReplicationDef> <REPNAME>書籍データ抽出定義</REPNAME> </ReplicationDef> < MappingDef> <TargetSearchDBname host='IShost1'>SearchDB1</TargetSearchDBname> <Column name = '書名'>title</Column> <Column name = '概要'>contents</Column> </MappingDef> </TextAdapterDef>
“図2.12 検索サーバと検索データベースが1:nの場合”は、検索データベースを複数用意する場合です。複数の表に対して別々のインデックスを付ける場合が相当します。この場合は、検索サーバと検索データベースの関係は1:nとなります。以下の図では、検索データベースの名前を「SearchDB1」、「SearchDB2」とし、これらの検索データベースを処理する検索サーバのホスト名を「IShost1」としています。この場合、Textアダプタ定義の<TargetSearchDBname>タグのhost属性の値に検索サーバのホスト名('IShost1')を、また、<TargetSearchDBname>タグの値にそれぞれの検索データベース名(SearchDB1、SearchDB2)を指定します。この場合、別のインデックスであるため、Textアダプタ定義も別の定義となります。
図2.12 検索サーバと検索データベースが1:nの場合
<TextAdapterDef> <ReplicationDef> <REPNAME>書籍データ抽出定義</REPNAME> </ReplicationDef> < MappingDef> <TargetSearchDBname host='IShost1'>SearchDB1 </TargetSearchDBname> <Column name = '書名'>title</Column> <Column name = '概要'>contents</Column> </MappingDef> </TextAdapterDef>
<TextAdapterDef> <ReplicationDef> <REPNAME>部品データ抽出定義</REPNAME> </ReplicationDef> < MappingDef> <TargetSearchDBname host='IShost1'>SearchDB2</TargetSearchDBname> <Column name = '部品名称'>partsname</Column> <Column name = '仕様'>spec</Column> </MappingDef> </TextAdapterDef>
ここで、検索サーバをSymfoware Serverと同一マシンに配置することも、また、別マシンに配置することもできます。
検索サーバをネットワーク上の別マシンに配置する場合、検索サーバのホスト名と、検索サーバを配置するマシンに登録したネットワークサービス名「ts_search」に指定したポート番号が必要になります。
参照
ネットワークサービス名の詳細は“Accela BizSearchのインストールガイド”を参照してください。
“図2.13 検索サーバを別マシン上に配置した場合”は、検索サーバをネットワーク上の別マシンに配置した例です。検索サーバの名前を「IShost2」、検索サーバを配置するマシンに登録した「ts_search」ネットワークサービスに指定したポート番号を「23001」、検索データベースの名前を「SearchDB1」としています。この場合、Textアダプタ定義の<TargetSearchDBname>タグのhost属性の値に検索サーバのホスト名('IShost2')を指定し、<TargetSearchDBName>タグのport属性の値にポート番号('23001')を指定し、また、<TargetSearchDBName>タグの値に検索データベース名('SearchDB1')を指定します。
図2.13 検索サーバを別マシン上に配置した場合
<TextAdapterDef> <ReplicationDef> <REPNAME>書籍データ抽出定義</REPNAME> </ReplicationDef> < MappingDef> <TargetSearchDBname host='IShost2' port='23001'>SearchDB1
</TargetSearchDBname> <Column name = '書名'>title</Column> <Column name = '概要'>contents</Column> </MappingDef> </TextAdapterDef>