カスタム プロパティ抽出器の作成
最終更新日: 2011年6月23日
適用対象: SharePoint Server 2010
この記事の内容
プロパティ抽出器の種類
カスタム プロパティ抽出辞書の作成
カスタム プロパティ抽出アイテム処理ステージの構成
管理プロパティのマッピングの作成
カスタム クエリ絞り込み条件の構成
適用先: Microsoft FAST Search Server 2010 for SharePoint
プロパティ抽出器を使用すると、アイテムの目に見えるテキスト コンテンツからエンティティまたは概念を自動的に抽出し、抽出したエンティティまたは概念を管理プロパティにマッピングできます。また、これらのプロパティでプロパティ フィルターを使用するか、これらのプロパティをクエリ絞り込みオプションとして使用して、クエリを絞り込むことができます。
この記事では、次の順序でカスタム プロパティ抽出器を作成する方法について説明します。
プロパティ抽出器の種類
単語の完全一致または単語の部分一致に基づいて 2 種類のプロパティ抽出器を定義できます。
単語の完全一致プロパティ抽出器
このプロパティ抽出器は、東アジア言語 (韓国語、中国語、日本語、タイ語) 以外のすべての言語で行う文字列照合に適しています。
ユーザー辞書に入力できるのは、1 つの単語または単語の列です。文字列の照合は、基本的なトークン化の後に実行されます。このトークン化では、テキストにあるコンマ、句読点、コロン、ダッシュなど、区切り文字をスペースに置き換えます。抽出器は、基本的なトークン化が行われた後の全文字列を照合する必要があります。
注意
照合では大文字と小文字が区別されます。
アイテム処理パイプラインで、最大 3 つのカスタム単語の完全一致プロパティ抽出器を定義できます。定義済みアイテム処理ステージ wholewordsextractor1、wholewordsextractor2、wholewordsextractor3 のいずれか 1 つを使用します。
単語の部分一致プロパティ抽出器
このプロパティ抽出器は、東アジア言語 (韓国語、中国語、日本語、タイ語) を使用しているすべてのドキュメントでの文字列照合に適しています。これらの言語では、単語をスペースで区切りません。
このプロパティ抽出器は、サブ文字列の照合を必要とする特定のユース ケースに使用することもできます。たとえば、長いシーケンスで DNA 配列を検索する場合、ユーザー辞書には対象の DNA 配列 (たとえば、"AAAGTCTGAC") が登録されています。これは、シーケンス "ATATGAATGGAAAGTCTGACTGATATCTGG" を含んでいるドキュメントと一致します。
注意
照合では大文字と小文字が区別されます。
アイテム処理パイプラインで、最大 2 つのカスタム単語の部分一致プロパティ抽出器を定義できます。定義済みアイテム処理ステージ wordpartsextractor1 と wordpartsextractor2 のどちらかを使用します。
東アジア言語とそれ以外の言語両方のコンテンツを含むアイテム
ユーザー辞書のエントリと、東アジア言語の単語で囲まれたドキュメント文字列を照合する必要がある場合は、単語の部分一致機能を使用する必要があります。
中国語または日本語のドキュメントでは、外国語の単語と中国語または日本語の文字の間がスペースで区切られているとは限らないためです。
カスタム プロパティ抽出辞書の作成
ユーザー辞書では、インデックス付きアイテムで検索し、関連付けられた管理プロパティでインデックスを作成する単語を定義します。XML ファイルの構文の詳細については、「言語辞書スキーマ」を参照してください。ユーザー辞書は、次の例に示す形式と同じ形式を使用して作成する必要があります。各エントリにはキーと値が必要です。ユーザー辞書は、バイト オーダー マーク (BOM) なしの UTF-8 形式で保存する必要があります。値のないエントリも登録できます。その場合、このキーに関してエンティティは抽出されません。
キーは、アイテムに必ず存在すると考えられる文字列です。キーの照合では、大文字と小文字が区別されます。抽出器で大文字と小文字を区別しないようにするには、すべての大文字と小文字の組み合わせを辞書に追加します。
注意
キーにアポストロフィは使用しないでください。使用した場合、用語が一致することはありません。
値は、関連付けられたクロールされたプロパティに抽出される文字列です。
注意
dictionary 終了タグの後ろにスペースまたは改行が入らないようにしてください。スペースまたは改行がある場合、エラーが発生します。
次の例では、ワイン用語に関する用語を抽出するプロパティ抽出辞書を定義しています。抽出器で大文字と小文字を区別しないようにするために、その用語に該当する大文字と小文字の組み合わせを追加しています。
<dictionary>
<entry key="Wine" value="wine" />
<entry key="wine" value="wine" />
<entry key="red wine" value="red wine" />
<entry key="Red wine" value="red wine" />
<entry key="white wine" value="white wine" />
<entry key="White wine" value="white wine" />
<entry key="Chardonnay" value="chardonnay" />
<entry key="chardonnay" value="chardonnay" />
</dictionary>
関連付けられたプロパティ抽出器は、これらのワイン関連の用語を、カスタム プロパティ抽出ステージに関連付けられたクロールされたプロパティに抽出します。照合では、用語のさまざまな大文字と小文字の組み合わせを処理し、クロールされたプロパティで用語の大文字と小文字を正規化します。
プロパティ抽出辞書のテンプレートは、管理サーバー上のリソース ストア フォルダーにあります。テンプレートは、ファイル フォルダー %FASTSEARCH%\components\resourcestore\dictionaries\matching\ にあります。
![]() |
---|
辞書の形式にエラーがある場合、辞書をリソース ストアにアップロードしているときではなく、アイテムのフィードを提供しているときにだけそのエラーが通知されます。アイテム処理ログには、オートマトン (コンパイルされた辞書形式) にエラーがあることが原因で、wholewords_extraction1.xml ファイルをコンパイルできないことを示すエラーが格納されます。 |
カスタム プロパティ抽出アイテム処理ステージの構成
使用する定義済みカスタム プロパティ抽出ステージを有効にする必要があります。
アイテム処理ステージを構成するには
FAST Search Server 2010 for SharePoint 管理ノードで、%FASTSEARCH%\etc\config_data\DocumentProcessor\OptionalProcessing.xml を編集します。active の値を yes に変更して、該当するカスタム アイテム プロパティ ステージ定義を変更します。詳細については、「optionalprocessing.xml のカスタマイズ」を参照してください。
管理サーバーの Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。
psctrl reset
これにより、システムで現在実行されているすべてのアイテム プロセッサがリセットされます。
Windows PowerShell コマンド Add-FASTSearchResource を使用して、FAST Search Server 2010 for SharePoint リソース ストアにカスタム プロパティ抽出辞書をアップロードします。
次のコード例では、編集した辞書ファイルの名前は c:\temp\wine_dictionary.xml で、wholewordsextractor1 という名前のカスタム プロパティ抽出器ステージを更新します。
Add-FASTSearchResource -FilePath c:\temp\wine_dictionary.xml -Path dictionaries\matching\wholewords_extraction1.xml
FilePath では、カスタム プロパティ抽出器の定義ファイルのパスを指定します。Path では、リソース ストアでの辞書の相対パスを指定します。使用するファイル名は、構成する抽出器によって異なります。表 1. に、利用できるプロパティ抽出器とリソース ストア内でのファイル名の関係を示します。
表 1. 抽出器の名前とリソース ストアでのファイル名の関係
抽出器の名前
リソース ストアでのファイル名 (パス)
wholewords1
wholewords_extraction1.xml
wholewords2
wholewords_extraction2.xml
wholewords3
wholewords_extraction3.xml
wordparts1
wordparts_extraction1.xml
wordparts2
wordparts_extraction2.xml
リソース ストアのコマンドの詳細については、Microsoft TechNet の「管理コマンドレット (FAST Search Server 2010 for SharePoint)」を参照してください。
管理プロパティのマッピングの作成
クエリまたはクエリ絞り込みで抽出データを使用するには、抽出後のクロールされたプロパティをインデックス スキーマ内の管理プロパティにマッピングする必要があります。
各カスタム プロパティ抽出ステージには、wholewords1、wholewords2、wholewords3、wordparts1、および wordparts2 という名前のクロールされたプロパティが関連付けられています。次の Windows PowerShell コマンドでは、wineterms という名前の管理プロパティを作成し、クロールされたプロパティ wholewords1 を新しい管理プロパティにマッピングします。
$cp = Get-FASTSearchMetadataCrawledProperty -Name wholewords1
$mp = New-FASTSearchMetadataManagedProperty -Name wineterms –type 1
$mp.StemmingEnabled=0
$mp.RefinementEnabled=1
$mp.Update()
New-FASTSearchMetadataCrawledPropertyMapping -ManagedProperty $mp -CrawledProperty $cp
管理プロパティのタイプを 1 に設定します。これは、そのデータ型が string であることを意味します。
コマンド $mp.StemmingEnabled=0 は、この管理プロパティに対するステミングが無効であることを意味します。ほとんどの場合、これが抽出されたプロパティに望ましい動作です。
コマンド $mp.RefinementEnabled=1 は、この管理プロパティに対するクエリ絞り込みが有効であることを意味します。
Windows PowerShell コマンドの詳細については、Microsoft の「Windows PowerShell を使用してクロールされたプロパティを管理する (FAST Search Server 2010 for SharePoint)」および「Windows PowerShell を使用して管理プロパティを管理する (FAST Search Server 2010 for SharePoint)」を参照してください。
注意
FAST Search Server 2010 for SharePoint サーバーの全体管理のグラフィカル ユーザー インターフェイスを使用して、プロパティのマッピングを設定することもできます。詳細については、MicrosoftOffice.com の「Property Management (英語)」を参照してください。
カスタム クエリ絞り込み条件の構成
カスタム抽出器はこの時点で構成されていますが、検索フロントエンドでその絞り込み条件を表示できません。
「絞り込みパネル Web パーツへの絞り込み条件の追加」の手順に従って、絞り込みパネル Web パーツで絞り込み条件を設定します。