Share via


Microsoft SharePoint Portal Server リソースキット

第 24 章 ‐ ダッシュボード サイトの既定のクエリの分析

トピック

はじめに
既定のクエリのカテゴリ検索の構文
既定のクエリのドキュメント検索の構文
既定のクエリの修正
まとめ

この章では、ダッシュボード サイトの規定のクエリについて説明します。また、クエリの構文の説明と、既定のクエリをカスタマイズして展開する場合の推奨事項が記載されています。

既定のクエリの実行は、Microsoft SharePoint Portal Server 2001 ダッシュボード サイトの検索 Web パーツから行います。検索 Web パーツは、検索サービスに用意されている検索エンジンのプロバブリスティックランキング機能を使用するほか、SharePoint Portal Server スキーマを通じて公開されたプロパティを使用します。既定のクエリは、平行して実行される 2 つのクエリ文字列によって構成されます。1 番目の文字列は、カテゴリに一致するクエリを実行します。2 番目の文字列は、おすすめコンテンツおよびドキュメントに一致するクエリを実行します。

はじめに

既定のクエリは、おすすめコンテンツと通常のドキュメントの両方に一致するものを検索します。既定のクエリは強制変換機能を使用して、おすすめコンテンツを一致するほかのドキュメントの上位にランキングします。また、既定のクエリは属性の重み付けを使用して、件名、タイトル、および説明などのいくつかのドキュメント プロパティによって発生する関連性の度合いを高めます。既定のクエリが返す結果は、関連度に従ってランキングされています。これらの結果は、最初に出現した上位 5 つのおすすめコンテンツと共に、ランクに従ってダッシュボード サイトに表示されます。

ドキュメントのランクでは、ドキュメントとクエリとの関連性が比較されます。ダッシュボード サイトでは、決定したドキュメントのランクはクエリの結果に表示されるドキュメントのランクを示しています。属性の重み付けとは、クエリで指定したプロパティを基準としてランクを調整する機能です。たとえば、属性の重み付けを使用すると、ドキュメントの本文にクエリの語句が含まれるドキュメントよりも、ドキュメントのタイトルに語句が含まれるドキュメントのランクが高くなるように指定することができます。

メモ :
この章の情報は、SharePoint Portal Server Software Development Kit (SDK) に基づいています。SharePoint Portal Server のカスタマイズ方法の詳細および手順については、「付録 B 詳細情報」を参照してください。

既定のクエリのカテゴリ検索の構文

既定のクエリのカテゴリの部分は、カテゴリ名、キーワード、件名、タイトル、および説明を検索し、関連するカテゴリ フォルダへのリンクのリストを返します。ユーザーは、ダッシュボード サイトの結果リストからカテゴリを参照することができます。

フルテキスト拡張を使用して SQL で記述されている以下の例は、ダッシュボード サイトの既定のクエリがどのようにカテゴリに一致するかを示しています。この例では、クエリは "SharePoint Portal Server" という語句に関連するカテゴリを検索します。

SELECT "DAV:href", "DAV:displayname", "DAV:contentclass",
"urn:schemas-microsoft-com:office:office#Category",
"urn:schemas-microsoft-com:office:office#Description"
FROM workspace..SCOPE()
WHERE WITH
("urn:schemas-microsoft-com:office:office#Keywords":1.0,
"urn:schemas-microsoft-com:office:office#Subject":1.0,
"urn:schemas-microsoft-com:office:office#Title":1.0,
"urn:schemas.microsoft.com:fulltextqueryinfo:description":1.0 )
AS #WeightedCatProps
(FREETEXT(#WeightedCatProps, 'SharePoint Portal Server')
OR CONTAINS("DAV:displayname", '"SharePoint Portal Server"'))
AND ("DAV:contentclass" = 'urn:content-classes:categoryfolder')
ORDER BY "urn:schemas-microsoft-com:office:office#Category" ASC

検索エンジンは、プライマリ ワークスペースに対してのみカテゴリ検索を実行し、インデックス ワークスペースからの結果は含まれません。この制限によって、カテゴリ検索の待ち時間が短縮されたほか、プライマリとインデックスのワークスペース間でカテゴリが同一でなければならないため、結果が失われることがありません。

既定のクエリのドキュメント検索の構文

CONTAINS 述語と FREETEXT 述語は WHERE 句の一部であり、テキスト列の単語検索およびフレーズ検索をサポートしています。CONTAINS 述語は、語句検索、語尾変化した単語の一致、ワイルドカードを使用した検索、および近接する語句の検索をサポートしています。このため、CONTAINS 述語は単語検索やフレーズ検索を実行するのに適しています。FREETEXT 述語は、ドキュメントの内容やプロパティに検索語句の組み合わせが全体的に含まれたドキュメントを検索するのに適しています。プロパティ BestBetKeyword には、おすすめコンテンツとして出現するドキュメントを検索する語句のリストが含まれています。

既定のクエリでは、FREETEXT が内容に一致し、かつ、割り当てられた属性の重み付けとしての役割を果たす関連プロパティの特定の選択内容に一致するように、プロパティ BestBetKeyword に一致する CONTAINS と FREETEXT を組み合わせて検索します。このクエリでは、タイトル、説明、またはキーワードなどの、内容をよく示しているプロパティと、フルテキスト インデックスに表示されるほかのプロパティが区別されます。

次の表には、既定のクエリで内容をよく示しているプロパティと、それが受け取る重みが記載されています。

メモ :
ダッシュボード サイトの既定のクエリで使用されるプロパティおよび属性の重みは、変更されることがあります。

プロパティ、および重みのサンプル

プロパティ

重み

urn:schemas-microsoft-com:office:office#Author

0.5

urn:schemas-microsoft-com:office:office#Keywords

0.8

urn:schemas-microsoft-com:office:office#Subject

0.8

urn:schemas-microsoft-com:office:office#Title

0.8

urn:schemas.microsoft.com:fulltextqueryinfo:description

0.8

既定のクエリは、3 つの述語の結果セット間の一部を強制的にオーバーラップさせるため、高い関連性で一致したドキュメントはダッシュボード サイトに表示されたおすすめコンテンツの範囲内に昇格されます。おすすめコンテンツとドキュメントの結果とが混じるのを防ぐため、既定のクエリは述語に基づいて強制的なオーバーラップを実行します。ダッシュボード サイトの検索結果 Web パーツには、500 を超えるランクと共に上位 5 つのおすすめコンテンツが表示されます。

次の表は、3 つの既定のクエリの述語と、それが受け取るランクを示しています。

メモ :
ダッシュボード サイトの既定のクエリで使用されるクエリの述語およびランクの強制変換機能は、変更されることがあります。

述語およびランク

述語

ランク

BestBetKeywords の CONTAINS

1000/999

BestBetKeywords の FREETEXT

500–999

ドキュメントの内容と選択されたプロパティのリストの FREETEXT

0–600

既定のクエリは、クエリの結果を正規化し、ランクに従って並べ替えます。

Search SQL で記述されている以下の例では、既定のクエリでドキュメントが一致した部分によって決定したおすすめコンテンツを示します。クエリの対象は "SharePoint Portal Server" です。

SELECT "DAV:href", "DAV:displayname", "DAV:getlastmodified", "DAV:iscollection",
"urn:schemas-microsoft-com:office:office#Title",
"urn:schemas-microsoft-com:office:office#Author", 
"urn:schemas.microsoft.com:fulltextqueryinfo:description",
"urn:schemas-microsoft-com:publishing:ShortcutTarget",
"urn:schemas-microsoft-com:publishing:isdoclibrarycontent",
"urn:schemas-microsoft-com:publishing:DiscussionTarget", 
"urn:schemas.microsoft.com:fulltextqueryinfo:rank"
FROM SCOPE('DEEP TRAVERSAL OF "/workspace"')
WHERE WITH ( Contents:0.5, 
"urn:schemas-microsoft-com:office:office#Author":0.5,
"urn:schemas-microsoft-com:office:office#Keywords":0.8,
"urn:schemas-microsoft-com:office:office#Subject":0.8,
"urn:schemas-microsoft-com:office:office#Title":0.8, 
"urn:schemas.microsoft.com:fulltextqueryinfo:description":0.8)
AS #WeightedProps
((CONTAINS("urn:schemas-microsoft-com:publishing:BestBetKeywords",
'"SharePoint Portal Server"') RANK BY COERCION(absolute, 999))
OR ((FREETEXT("urn:schemas-microsoft-com:publishing:BestBetKeywords",
'SharePoint Portal Server') RANK BY COERCION(multiply, 0.5)) 
RANK BY COERCION(add, 500))
OR ((FREETEXT(#WeightedProps, 'SharePoint Portal Server')
OR CONTAINS("DAV:displayname", '"SharePoint Portal Server"'))
RANK BY COERCION(multiply, 0.6)) )
AND NOT ("DAV:contentclass" = 'urn:content-classes:categoryfolder')
AND NOT ("DAV:contentclass" = 'urn:content-classes:rootcategoryfolder')
ORDER BY "urn:schemas.microsoft.com:fulltextqueryinfo:rank" DESC

ドキュメントのプロパティ BestBetKeyword に "SharePoint Portal Server" という値がある場合、既定のクエリは完全一致として上位グループにあるドキュメントを返します。ドキュメントのプロパティ BestBetKeyword に "SharePoint" という値がある場合、既定のクエリは中位グループにあるドキュメントを返します。ドキュメントのカスタム プロパティ Product に "SharePoint Portal Server" という値があるか、ドキュメントに "sharepoint"、"portal"、または "server" が含まれる場合は、既定のクエリは下位グループにあるドキュメントを返します。SharePoint Portal Server に採用されている確率順位アルゴリズムは、1 つの語句しか含まれていないドキュメントよりも 3 つの語句がすべて含まれているドキュメントに高いランクを付けます。

既定のクエリのこの部分によって、これらの結果からカテゴリ フォルダが除外され、既定のクエリのカテゴリの部分に結果が含められます。

既定のクエリの修正

既定のクエリは、限定された部分を修正することができます。たとえば、重み付けされたプロパティのリストを拡張して、自分のデータに関連するカスタム プロパティを追加することが可能です。また、プロパティが示す指標の重みに応じて、指定したプロパティの重み付けを変更することもできます。このほか、既定のクエリのランクの強制変換機能を調整することも可能です。たとえば、BestBetKeywords に一致する FREETEXT を実行するクエリの一部でランクの強制変換を実行しないようにして、既定のクエリでドキュメントがおすすめコンテンツとしてクエリ結果で昇格されないようにすることができます。

次の表には、Portal\resources\searchConstants.js で宣言された、重み付けされたプロパティの別名と実行可能な修正の簡単な説明が記載されています。

クエリ変数および説明

変数

説明

g_strWeightedPropsWhereClauseDeclaration

おすすめコンテンツで使用されるプロパティと重み、および既定のクエリで一致するドキュメントの部分を修正します。

g_strWeightedCatPropsWhereClauseDeclaration

既定のクエリのカテゴリの部分で使用されるプロパティを修正します。

クエリを生成する JavaScript コードは、ダッシュボード サイトのパス Portal\resources\searchFunctions.js にあります。

注意 :
既定のクエリの変更はサポートされていません。変更を行う場合は、以下のガイドラインに従ってください。

  • クエリによって選択されたプロパティは削除しないでください。削除すると、ダッシュボード サイトの XSL (Extensible Stylesheet Language) スタイル シートとコードに悪影響を及ぼします。

  • おすすめコンテンツの述語のランクは変更しないでください。変更すると、おすすめコンテンツの検索結果の検出に悪影響を及ぼします。

  • プロパティ リストにプロパティを追加するか、ランク以外の属性でクエリを実行すると、クエリの待ち時間に影響します。

まとめ

この章では、ダッシュボード サイトの規定のクエリの構成要素について説明しました。ここには、既定のクエリを構成する、おすすめコンテンツ、ドキュメント検索、およびカテゴリ検索のクエリの構文が記載されています。また、この章には既定のクエリをカスタマイズする方法に対するアドバイスも記載されています。