[FS4SP] SP1 からの新しいカスタム プロパティ抽出機能への移行


FAST Search Server 2010 for SharePoint Service Pack 1 によって提供される新機能の中の「Creating a custom property extractor」を利用すべく、設定を行った手順を以下に書き留めます。

ここでは、products管理プロパティに抽出されるwordpartextractor1およびbanks管理プロパティに抽出されるwordpartextractor2に関連付けられた2つのプロロパティ抽出が設定されている前提です。また、全ての処理はFAST Search Server 2010 for SharePoint管理サーバーにて実施します。

C:\FASTSearch\etc\config_data\DocumentProcessor\optionalprocessing.xmlのそれまでアクティブにしていた内容をオフにします。

(変更前)

<processor name=”wholewordsextractor1″ active=”no” />
<processor name=”wholewordsextractor2″ active=”no” />
<processor name=”wholewordsextractor3″ active=”no” />
<processor name=”wordpartextractor1″ active=”yes” />
<processor name=”wordpartextractor2″ active=”yes” />

(変更後) 全てactive=”no”に変更します。

<processor name=”wholewordsextractor1″ active=”no” />
<processor name=”wholewordsextractor2″ active=”no” />
<processor name=”wholewordsextractor3″ active=”no” />
<processor name=”wordpartextractor1″ active=”no” />
<processor name=”wordpartextractor2″ active=”no” />

C:\FASTSearch\components\resourcestore\dictionaries\matchingから以前に設定したプロパティ抽出用の辞書ファイルを削除

後で再利用するために、以下のファイルを適当なディレクトリに移動します。

wordparts_extraction1.xml
wordparts_extraction2.xml

関連付けされているクロールされたプロパティと管理プロパティのマッピングを削除します。

以下のような Windows PowerShellスクリプトをFAST Search Server 2010 for SharePoint shellから実行します。処理を実行するか聞かれますので、「はい(Y)」を選択します。

$c = Get-FASTSearchMetadataCrawledProperty -name wordparts1
$m = Get-FASTSearchMetadataManagedProperty -name products
Remove-FASTSearchMetadataCrawledPropertyMapping -crawledproperty $c -managedproperty $m

$c = Get-FASTSearchMetadataCrawledProperty -name wordparts2
$m = Get-FASTSearchMetadataManagedProperty -name banks
Remove-FASTSearchMetadataCrawledPropertyMapping -crawledproperty $c -managedproperty $m

新たなクロールされたプロパティの作成と、既に作成された管理プロパティとのマッピングを作成します。

以下のような Windows PowerShellスクリプトをFAST Search Server 2010 for SharePoint shellから実行します。

$cp = New-FASTSearchMetadataCrawledProperty –Name products -Propset 48385c54-cdfc-4e84-8117-c95b3cf8911c -VariantType 31
$mp = Get-FASTSearchMetadataManagedProperty –Name products
New-FASTSearchMetadataCrawledPropertyMapping -ManagedProperty $mp -CrawledProperty $cp

$cp = New-FASTSearchMetadataCrawledProperty –Name banks -Propset 48385c54-cdfc-4e84-8117-c95b3cf8911c -VariantType 31
$mp = Get-FASTSearchMetadataManagedProperty –Name banks
New-FASTSearchMetadataCrawledPropertyMapping -ManagedProperty $mp -CrawledProperty $cp

新しいカスタム プロパティ抽出機能の設定ファイルを作成します。

C:\FASTSearch\etc\config_data\DocumentProcessor\CustomPropertyExtractors.xmlファイルを以下の内容で新規に作成します。

<?xml version=”1.0″ encoding=”UTF-8″?>
<extractors>
<extractor name=”Products” type=”Substring” property=”products”>
<dictionary name=”products” yield-values=”yes”/>
</extractor>
<extractor name=”Banks” type=”Substring” property=”banks”>
<dictionary name=”banks” yield-values=”yes”/>
</extractor>
</extractors>

type属性には、Substring (大文字小文字を同一視) または WordParts (大文字小文字を区別) を指定してください。yield-values属性をyesに設定すると、プロパティ抽出用の辞書ファイルのvalue属性の値を表示します。例えば、以下のような辞書ファイルの場合、「Access」ではなく「アクセス」という文字列が抽出されます。

<?xml version=”1.0″?>
<dictionary>
<entry key=”Access” value=”アクセス”/>
</dictionary>

新しいカスタム プロパティ抽出機能の辞書ファイルを変換します。

type属性にSubstring (大文字小文字を同一視) を選択する場合には、辞書ファイルの属性値を全て小文字に変換する必要があります。コマンドプロンプトから以下のコマンドを実行します (元の辞書ファイルがproducts.xmlおよびbanks.xmlの場合)。

cd <辞書ファイルを置いたディレクトリ>
lowercase products.xml products_normalized.xml
lowercase banks.xml banks_normalized.xml

新しいカスタム プロパティ抽出機能の辞書ファイルを配置します。

以下のような Windows PowerShellスクリプトをFAST Search Server 2010 for SharePoint shellから実行します (辞書ファイルがC:\Tempディレクトリに置いてある場合)。

Add-FASTSearchResource -FilePath “C:\Temp\products_normalized.xml” -Path dictionaries\matching\products.xml
Add-FASTSearchResource -FilePath “C:\Temp\banks_normalized.xml” -Path dictionaries\matching\banks.xml

アイテム処理プロセッサを再起動します。

コマンド プロンプトから以下のコマンドを実行します。

psctrl reset

これで、変更処理は終了です。

変更を確認します。

作成済みのコンテンツ ソースをフル クロールし、検索を実行して新しいカスタム プロパティ抽出機能が動作していることを確認します。

もし、正常に動作していない場合には、C:\FASTSearch\var\log\procserver\procserver_n.logを確認します。以下は、既存のクロールされたプロパティを誤って利用しようとした場合に出力されるログです。

[2011-07-19 22:18:32.071] WARNING    systemmsg Extractor “Products” uses the reserved property name “wordparts1”: Extractor deactivated.
[2011-07-19 22:18:32.103] WARNING    systemmsg Extractor “Banks” uses the reserved property name “wordparts2”: Extractor deactivated.

(参照元)

Migrating Custom Property Extractors That Are Defined Prior to Service Pack 1
http://msdn.microsoft.com/en-us/library/hh285840.aspx

Creating a Custom Property Extractor
http://msdn.microsoft.com/en-us/library/ff795797.aspx

Custom Property Extractor Schema (FAST Search server 2010 for SharePoint)
http://msdn.microsoft.com/en-us/library/hh285841.aspx

広告