従来の検索結果でカスタム管理プロパティの値を表示する方法 - SharePoint Server のオプション 2
適用対象:2016
2019
Subscription Edition
SharePoint in Microsoft 365
「 検索結果にカスタム管理プロパティの値を表示する方法 - SharePoint Server のオプション 1」で 、カスタム アイコンと 2 つのカスタム管理プロパティの値を従来の検索結果に追加する簡単な方法を示しました。 この記事では、if ステートメントとヒット強調表示を含む従来の検索結果の表示方法を変更するための完全な方法について説明します。 この記事では、以下について説明します。
一石三鳥となるような検索結果バージョンのための戦略
まず、達成したい内容を述べてみましょう。
2 つのカスタム管理プロパティの値を表示する。
検索語句の強調表示を 2 つのカスタム管理プロパティに適用する。
クラシック検索結果の関連性が自動的に向上します。
これらの目標を達成する方法について詳しく検討する前に、戦略を確認することにします。 多少複雑であったとしても、読み進めてください。 うまくいけば、それは終わりまでに明らかになるでしょう。
最初に、検索語句の強調表示の意味を確認します。
検索結果 Web パーツの [検索語句の強調表示プロパティ (JSON)] セクションにリストされた管理プロパティ、および「魔法の要約」プロパティが、HitHighlightedProperties プロパティに渡されます。
HitHighlightedProperties プロパティのすべての値が HitHighlightedSummary プロパティに渡されます。
HitHighlightedSummary の値の切り捨てられたバージョンが検索結果 Web パーツに表示され、末尾に 3 つのドットが表示されます。
また、各項目表示テンプレートには Item_CommonItem_Body 表示テンプレートへの参照が含まれており、このテンプレートには onlick メソッドが含まれており、ユーザーのクリック動作に基づいて自動的に関連性が向上します。
そのため、戦略としては、Item_CommonItem_Body 表示テンプレートに渡されてレンダリングされるアイテム表示テンプレートに変数を作成することになります。
具体的には、次の操作を行う必要があることを意味します。
従来の検索結果に表示するカスタム管理プロパティを、検索結果 Web パーツのヒット強調表示プロパティに追加します。
カスタム管理プロパティをアイテム表示テンプレートに追加する。
項目表示テンプレートで、 HitHighlightedSummary プロパティによって使用される変数を作成し、ヒットの強調表示を使用して 2 つのカスタム管理プロパティを表示します。
アイテム表示テンプレートでは、参照
_#=ctx.RenderBody(ctx)=#_
のままにして、 Item_ComonItem_Body 表示テンプレートによって検索結果がレンダリングされるようにします。 これにより、自動改善された関連性が取得されるようになります。
それでは、検索センターのシナリオでこれを行った方法の例を使用して、詳しく説明します。
カスタム管理プロパティの値を検索語句の強調表示付きで表示し、自動改善された関連性を取得する方法
最初に、使用するカスタム サイト列に対応する管理プロパティ名を見つける必要があります。 これを行う方法については、「 カスタム管理プロパティの値を検索結果に表示する方法 - SharePoint Server のオプション 1」を参照しました。
次に、[検索結果 Web パーツ] にいくつかの構成を行う必要があります。 それらのステップは次のとおりです。
[検索結果] ページで、[ 設定] メニューを選択し、[ ページの編集] を選択します。
検索結果 Web パーツで、[Web パーツ] メニュー> [Web パーツの編集] を選択します。
[Web パーツ] ツール ウィンドウで、[ 表示テンプレート ] セクションを展開し、[ 1 つのテンプレートを使用して項目を表示する] を選択します。 これにより、[ ヒット] が強調表示されたプロパティ (JSON) フィールドを 変更できます。
[検索語句の強調表示プロパティ (JSON)] フィールドで、次の形式を使用して、検索語句の強調表示を追加するカスタム管理プロパティを追加します。
"<Managed プロパティ名>"
検索センターのシナリオでは、検索語句の強調表示を ContentSummaryOWSMTXT および owstaxIdTechnicalSubject 管理プロパティに適用することにしていました。
[適用] を選択して変更を保存します。 [ 表示テンプレート] セクションが 閉じます。
セクションをもう一度開くには、[ 表示テンプレート] を選択し、[ 結果の種類を使用して項目を表示する] を選択します。
[ OK] を選択 し、ページを保存します。
次に、カスタム管理プロパティをアイテム表示テンプレートに追加します。 以下を実行する必要があります。
検索結果をカスタマイズする結果の種類に属しているアイテム表示テンプレートを開きます。
検索センターのシナリオで、これは「TechNet コンテンツ」でした。
アイテム表示テンプレートの [ManagedPropertyMapping] タグで、次の構文を使用して、表示するカスタム管理プロパティを追加します。
'<Current item property name>':<Managed property name>'
Search Center のシナリオでは、管理プロパティ ContentSummaryOWSMTXT と owstaxIdTechnicalSubject の値を検索結果に表示する必要があります。 ファイルを簡単に保守できるように、現在のアイテム プロパティの名前を管理プロパティと同じにしました。
次に、Item_Common_Item_Body 表示テンプレートによって使用およびレンダリングされる、アイテム表示テンプレート内の変数を作成する必要があります。 以下のことを行う必要があります。
カスタム プロパティの値に入力されたクエリ 単語が含まれる保証がないため、つまり、ヒット 強調表示が使用されない場合は、ヒット強調表示に関係なく、カスタム プロパティの値が表示されることを保証する変数を作成する必要があります。
次のスクリーンショットは、カスタム プロパティ ContentSummaryOWSMTXT と owstaxIdTechnicalSubject に対してこのような 2 つの変数を作成した方法を示しています。
さらに、[タイトル] プロパティ用に類似の変数を追加しました。 これを追加しないと、検索結果はレンダリングされません。
アイテム表示テンプレートで実行する必要のある最後の 2 つの手順は、値の表示に使用される HitHighlightedSummary プロパティをオーバーライドする変数を作成することです。
アイテム表示テンプレートを保存します。
注:
Microsoft 365 で SharePoint を使用している場合は、この手順を実行する必要はありません。 Go to Site settings>Search Result Types. プロパティ同期アラートが表示されます。
このアラートは、アイテム表示テンプレート (手順 9 で行ったこと) に管理プロパティを追加したために表示されます。 新しく追加された管理プロパティによって結果の種類を更新するためには、[ 更新 ] を選択します。
重要
この更新を行わない場合、新しく追加された管理プロパティは検索結果に表示されません。
これらの変更を行った後に、ユーザーが検索センターでクエリを入力すると、検索結果には以下の項目が含まれます。
カスタム アイコン
検索語句が強調表示された [タイトル] の値
検索語句が強調表示された [ContentSummaryOWSMTXT] の値
owstaxIdTechnicalSubject の値 (クエリワードがプロパティ値と一致しませんでしたが、手順 10 で作成した変数のため、値が表示されます)。
リスト内のアイテムへのリンク
owstaxIdTechnicalSubject の値の表示方法に少し変更を加えたいと考えました。 この値が何を表すかについて、ユーザーにもう少しの説明を示すことにしました。 そのため、値の前にテキスト「Technical Subject:」を追加することにしました。 また、この値はすべてのリスト アイテムに対して常に存在するとは限らないので、値が存在するときにのみ表示する必要があると判断しました。
これを行うために、[HitHighlightedSummary] プロパティをオーバーライドする変数に変更を加えました。
"Technical Subject:" というテキストに若干異なる色を追加しました。 この追加によって、最終的な検索結果は次のようになります。
「SharePoint Server で新しい結果の種類を作成する方法」で、6 つの異なる結果の種類が必要と判断しました。 TechNet コンテンツの結果の種類と表示テンプレートを作成した後、この作業を他の 5 つの結果の種類に簡単にコピーできます。
結果は次のとおりです。
そのため、従来の検索結果の表示方法を変更したので、次の手順は、ホバー パネルに表示される値を変更することです。