Search Query Tool のご紹介

こんにちは。SharePoint サポートの清です。 今回は、検索結果の管理プロパティの値などを確認する場合に有用なツール(Search Query Tool)を紹介したいと思います。   SharePoint 2013 以降のバージョンでは、検索 REST サービスを使用して、検索結果を取得することができます。 Search Query Tool は、この仕組みを利用したツールとなり、SharePoint 2013, SharePoint 2016, SharePoint Online で使用できます。 codeplex のツールのサポートは提供しておりませんが、Search Query Tool はインストール不要で簡単にプロパティ値を確認することや、対象のアイテムがクロールされているかの判断にもご利用いただける便利なツールですので、必要に応じてご活用いただければ幸いです。   <目次> 1. ダウンロード方法 2. Search Query Tool の使用方法   1. ダウンロード方法 ================ ツールのダウンロード先は以下です。 タイトル : SharePoint 2013 Search Query Tool アドレス : http://sp2013searchtool.codeplex.com/ 1) 上記リンクより、紫色の [download] ボタンをクリックし、SharePoint 2013…

0

SharePoint 2013 の検索スキーマについて

こんにちは。SharePoint サポートの銭 国康 (セン クニヤス) です。 今回は SharePoint 2013 の検索スキーマについて紹介します。   目次 1 SharePoint のプロパティ検索について 2 検索スキーマとは 3 検索スキーマの処理の流れについて 4 検索スキーマの設定レベルについて 5 検索スキーマの管理について 6 検索スキーマの使用例     1 SharePoint のプロパティ検索について SharePoint 2013 では、ドキュメントやリスト アイテムの名前や、作者などのプロパティに対し、プロパティ検索ができます。 図 1-1 アイテム名のプロパティ検索の図   図 1-2  作者のプロパティ検索の図   このようにプロパティ検索を利用することで、ほしい結果を素早く検索することができ、SharePoint の大変便利な機能の一つだと言えます。さて、ドキュメント ライブラリやリストの自作した列 (固有列) に対し、どのように検索すれば良いのか、思われたことはありませんか?例えば、以下のように [部署名] という固有列があった場合、部署名でプロパティ検索を実施するには、どうすればよいでしょう。   図 1-3  ドキュメント ライブラリの固有列の図  …

0

特定のコンテンツが検索結果で取得されない場合のトラブルシューティングのヒント

こんにちは、SharePoint サポートの佐伯です。   今回の投稿では、検索結果で特定のコンテンツが取得されない場合にご確認いただきたい内容を記載しております。検索を実行しても特定のコンテンツが検索結果として得られない場合、そのコンテンツの検索インデックスが存在するか、検索インデックスは存在するが何らかの理由で検索結果として取得されないかを切り分けましょう。どちらの状態であるかによって、確認する情報 (検索データや各種設定、ファイル等) が異なります。まずはこの問題の切り分けを行うことが重要です。基本的なものにはなりますが、以下をお試しください。   ・検索クエリを変えて検索する 例えば、別のキーワードで検索を行ったり、Title や Path 等でプロパティ検索を行います。(Title:”sample item”、Path:”http://xxxxx/Shared%20Documents/sample.xlsx”) 検索 Web パーツに複雑なクエリを設定している場合は、一度簡単なクエリに変更して検索します。 ・クロール ログを確認する コンテンツの URL をもとに該当のクロール ログを確認し、正常にクロールが完了しているかを確認します。クロール ログの確認方法については、下記の公開情報をご参照ください。 タイトル : 検索診断を表示する (SharePoint Server 2013) – クロール ログ アドレス : https://technet.microsoft.com/ja-jp/library/5cf2a498-d879-4673-b4d4-2eaa36695ff9#proc3   特定のコンテンツの検索インデックスが存在しないと判断した場合は「(1) 特定のコンテンツの検索インデックスが存在しないため、検索結果として取得できない」を、特定のコンテンツが検索結果で確認できた場合は「(2) 検索インデックスは存在するが、検索条件やその他の問題により検索結果として取得できない」をご確認ください。   (1) 特定のコンテンツの検索インデックスが存在しないため、検索結果として取得できない 検索を実行すると検索インデックスから検索結果が返されます。目的のコンテンツのインデックスが存在しない場合、検索条件を変更しても検索結果として取得されません。 考えられる可能性 ■クロールが実行されていないため、目的のコンテンツのインデックスが作成されていない ■目的のコンテンツがクロール対象になっていないため、クロールを実行してもインデックスが作成されない ■コンテンツのクロール中に何らかの問題が発生し、正常にインデックスが作成されない ■クロールが実行されていないため、目的のコンテンツのインデックスが作成されていない クロールがスケジュール化されている場合は、クロールが実行されるまで待ちます。 または、手動でクロールを開始します。クロールの開始方法については下記の公開情報をご参照ください。 タイトル : SharePoint Server 2013…

0

検索結果でカスタムの管理プロパティが表示されない場合のトラブルシューティングのヒント

こんにちは、SharePoint サポートの佐伯です。 今回の投稿は、検索のトラブルシュートについてです。コンテンツ検索 Web パーツや検索結果 Web パーツの検索結果で、カスタムの管理プロパティが表示されないとのお問い合わせをいただくことがあります。 これには大きく三つの要因が考えられます。一つ目は、検索インデックスの目的の管理プロパティに正常に値が格納されていないこと、二つ目は、検索結果の取得時に管理プロパティが正常に返されないこと、三つ目は、検索結果で返された管理プロパティが正常に表示されないことです。 それぞれの要因につながる理由として、一つ目の場合は、アイテムが正常にクロールされていないことや、管理プロパティにマップされたクロールされたプロパティが正しくないことが考えられます。二つ目の場合は、管理プロパティが取得可能な設定になっていないことや、Web パーツの管理プロパティのマッピングが正しく行われていないことが考えられます。三つ目の場合は、検索結果を描画する表示テンプレートの内容が関係して想定した表示が行われないことが考えられます。(これらはあくまで一例となります。) どれに該当するかによって、確認する情報 (検索データや各種設定、ファイル等) が異なりますので、問題の切り分けを行うことが重要です。 その方法の一つとして、検索の REST API を使用して単純に検索結果を取得し、管理プロパティの値を確認する方法をご紹介します。こうすることで、Web パーツの設定や表示テンプレートの内容とは切り離して動作を確認することができます。 検索の REST API を使用して管理プロパティを取得する 検索の REST API を使用して検索結果を取得し、カスタムの管理プロパティの値を確認します。 ブラウザーのアドレス バーに下記の URL を入力して実行し、検索結果を取得します。 <サイトの URL>/_api/search/query?querytext='<キーワード>’&selectproperties='<取得する管理プロパティ>’ キーワードには、目的の検索結果を取得するための条件を入力します。(日本語を指定する場合は URL エンコードを行います。) 例) あるアイテムの管理プロパティ TestProperty の値を確認します。 <サイトの URL>/_api/search/query?querytext=’item1’&selectproperties=’Title,Path,TestProperty‘ 検索結果を取得した後は、Title や Path 等から該当のアイテムであるかを確認し、目的の管理プロパティの値を確認します。上の画像では、アイテムitem1 の TestProperty の値は property1 になります。 参考) 検索 REST API の詳細については下記の…

0

SharePoint 2013 検索結果の種類でプロパティの同期を実施する

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、サイト コレクションまたはサイト レベルで作成した検索結果の種類で、プロパティ同期を実施するタイミングとその方法について記述します。 – 前提 検索結果 Web パーツでは、検索結果を描画する際に、「単一の表示テンプレート (*1) を使用する」か、「検索結果の種類 (*2) に合わせて使用する表示テンプレートを変更する」かを Web パーツの設定で選択することができます。本投稿は「検索結果の種類に合わせて使用する表示テンプレートを変更する」設定にしている場合のお話となります。 *1 : 表示テンプレートとは、検索結果の表示を定義したファイルです。詳細はこちらをご覧ください。 *2 : 検索結果の種類とは、対象となる検索結果の条件と、その条件を満たす場合に実行するアクションを設定したものです。検索結果のアイテムに合わせて、表示の際に使用する表示テンプレートを変えることができます。詳細はこちらをご覧ください。 検索結果に表示させる管理プロパティを追加する場合、表示テンプレートを編集し、該当の管理プロパティのマッピングを追加する必要があります。このマッピングを追加することで、検索実行時に取得される管理プロパティの種類を増やすことができます。 例) 表示テンプレートの既定の管理プロパティのマッピングに TestProperty という管理プロパティを追加する場合、下記のように記述します。 <mso:ManagedPropertyMapping sdt:dt=”string”> ‘Title’:’Title’,’Path’:’Path’,’Description’:’Description’,’EditorOWSUSER’:’EditorOWSUSER’, ‘LastModifiedTime’:’LastModifiedTime’,’CollapsingStatus’:’CollapsingStatus’,’DocId’:’DocId’, ‘HitHighlightedSummary’:’HitHighlightedSummary’,’HitHighlightedProperties’:’HitHighlightedProperties’, ‘FileExtension’:’FileExtension’,’ViewsLifeTime’:’ViewsLifeTime’,’ParentLink’:’ParentLink’, ‘FileType’:’FileType’,’IsContainer’:’IsContainer’,’SecondaryFileExtension’:’SecondaryFileExtension’, ‘DisplayAuthor’:’DisplayAuthor’,’TestProperty’:’TestProperty’ </mso:ManagedPropertyMapping> ただし、検索結果を取得する際、実際には表示テンプレートのマッピング情報ではなく、検索結果の種類が保持するマッピング情報をもとにして、検索結果アイテムの管理プロパティが取得されます。 では、検索結果の種類のマッピング情報はいつ、どのようにして更新されるのでしょうか。それは、検索結果の種類の設定で表示テンプレートを選択し保存をしたタイミングです。この時、表示テンプレートのマッピング情報が検索結果の種類のマッピング情報に同期されます。 そのため、表示テンプレートのマッピング情報を変更した場合は、その表示テンプレートが関連付けられた検索結果の種類を更新し、マッピング情報を同期させる必要があります。 なお、検索サービス (SSA) によって提供されている検索結果の種類はサイトで使用することできますが、これらが保持するマッピング情報はサイト コレクションやサイト レベルで設定変更することができません。つまり、SSA の検索結果の種類に対して管理プロパティのマッピングを新しく追加することはできません。 そのため、検索時に取得する管理プロパティの種類を自由に変更する場合は、サイト コレクションまたはサイト レベルで検索結果の種類を作成し、表示テンプレートのマッピング情報をこの検索結果の種類のマッピング情報に同期させる必要があります。 プロパティを同期するその他の方法 表示テンプレートのマッピング情報と検索結果の種類のマッピング情報に差異がある場合、検索結果の種類の管理画面では、「一部の表示テンプレートのプロパティが更新されました。最新のプロパティを持つ検索結果の種類を更新。」といったメッセージが表示されます。この [更新] をクリックすることでも、表示テンプレートのマッピング情報と検索結果の種類のマッピング情報を同期させることができます。 [更新] をクリックして同期をすると、下記のようなメッセージが表示されます。 まとめ…

0

SharePoint 2013 コンテンツ検索 Web パーツでプロパティのマッピングを編集する

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、コンテンツ検索 Web パーツで取得する検索結果の管理プロパティのマッピングの設定について記述します。 コンテンツ検索 Web パーツでは、表示する管理プロパティを Web パーツの編集画面の [プロパティのマッピング] で選択することができます。プロパティのマッピングの設定項目は、検索結果の描画で使用する表示テンプレート (詳細はこちら) によって異なります。目的に合った表示テンプレートを選択し、プロパティのマッピングを設定します。 例えば、[プロパティのマッピング] にそれぞれ管理プロパティを設定すると、下記のような検索結果となります。 プロパティのマッピング項目は、表示テンプレート内の <mso:ManagedPropertyMapping>~</mso:ManagedPropertyMappin>で定義されます。 例) <mso:ManagedPropertyMapping msdt:dt=”string”>’Link URL'{リンクの URL}:’Path’,’Line 1′{行 1}:’Title’,’Line 2′{行 2}:”,’FileExtension’,’SecondaryFileExtension'</mso:ManagedPropertyMapping> 詳しくは、’<項目名>‘{<Web パーツの設定画面での項目の表示名>}:’<既定で選択させる管理プロパティ名>‘ のような記述となります。 SharePoint サイトでは、既定でいくつかの表示テンプレートが用意されていますが、表示テンプレートを作成または編集することでプロパティのマッピング項目を変更することが可能です。なお、検索を実行すると、プロパティのマッピングで選択した管理プロパティはクライアントに返されますが、それらをコンテンツ検索 Web パーツで表示させるには、取得した管理プロパティの値を画面上に表示させる JavaScript の実装が必要となります。 例をあげて、編集方法を見ていきましょう。 <目次> (1)プロパティのマッピングの項目の初期値を設定する方法 (2)プロパティのマッピングの項目を追加する方法 (1)プロパティのマッピングの項目の初期値を設定する方法 表示テンプレート “左に画像、右に 3 行を表示” (Item_Picture3Lines.html) を例に説明します。 ■既定の表示テンプレートの場合 既定では、表示テンプレート内のプロパティのマッピングは下記になります。”行 3″ に注目してください。 <mso:ManagedPropertyMapping msdt:dt=”string”>’Picture URL'{画像の URL}:’PublishingImage;PictureURL;PictureThumbnailURL’,’Link…

0

SharePoint 2013 検索結果 Web パーツでカスタムの管理プロパティを表示する

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、検索結果 Web パーツでカスタムの管理プロパティを表示する方法についてご紹介します。 SharePoint サイトでコンテンツの検索を行う際、リストに追加したカスタム列も検索結果に表示させたいことがあると思います。 その場合、カスタム列を検索の管理プロパティにマッピングすることで、検索結果でカスタム列に入力された情報を取得することが可能です。また、表示テンプレート (*1) と呼ばれる検索結果の表示を定義したファイルを編集することで、取得したカスタム列の情報を表示させることができます。 カスタム列とカスタム管理プロパティの作成方法、カスタムの管理プロパティを表示する表示テンプレートの編集方法および適用方法について、一連の流れで手順を記載いたします。ご要件に合わせて適宜変更してください。ご実施の際は、検証環境で十分な動作確認を行ってください。 <目次> 1) カスタムの管理プロパティの作成 2) カスタムの管理プロパティを表示する表示テンプレートの編集 3) カスタムの管理プロパティを表示する表示テンプレートの適用 1) カスタムの管理プロパティの作成 リストまたはライブラリでカスタムの列を作成し、カスタムの管理プロパティにマッピングします。カスタム列を作成する際、リスト列を作成するかサイト列を作成する方法があります。それぞれの列で管理プロパティを作成する手順を記載します。なお、複数のリストまたはライブラリで同じ列を使用する場合は、サイト列を作成する方法が便利です。 ■ リスト列を作成する場合の手順 1. 目的のリストでリスト列を作成します。 1-1. リストの [リストの設定] を開き、[列の作成] をクリックします。 1-2. 列名を TestField1 とし、その他の項目を設定します。 2. テスト用にリスト アイテムを作成し、追加した列にも値を設定しておきます。 3. フル クロールを実行します。フル クロールを実行すると、上記で作成した列がクロールされたプロパティとして反映されます。 3-1. サーバーの全体管理サイトにアクセスし、[アプリケーション構成の管理] – [サービス アプリケーションの管理] より、該当の Search Service Application をクリックします。 3-2. 左のサイド リンク バーから…

0

検索結果の並べ替えができない、または検索の並べ替え条件が設定できない場合のトラブルシューティングのヒント

こんにちは、SharePoint サポートの佐伯です。 SharePoint の検索 Web パーツや検索機能を利用した開発等で、検索の並べ替えができないというお問い合わせをいただくことがあります。今回は、検索の並べ替えができない例をまとめてご紹介します。トラブルシュートの際にご参考になりましたら幸いです。 ・コンテンツ検索 Web パーツで並べ替え条件を設定する際、[クエリの変更] – [検索の並べ替え] 設定で目的の管理プロパティが見つかりません。 ・最近変更されたアイテム Web パーツで、並べ替えの基準となる管理プロパティを変更したいが、設定箇所が見つかりません。 ・検索結果 Web パーツの [クエリの変更] – [検索の並べ替え] 設定で目的の管理プロパティを設定しているが、設定通りに検索結果の並べ替えが行われません。 ・検索の REST URL で sortlist パラメーターに管理プロパティを設定すると、検索結果が取得できません。 ・JavaScript Object Model (JSOM) を使用して検索結果を取得する際、SortList プロパティに管理プロパティを追加すると、検索結果が取得できません。 ・ファイルの検索結果を LastModifiedTime 順に取得した際に、ドキュメント ライブラリ上のプロパティの更新日時順と一致しません。 コンテンツ検索 Web パーツで並べ替え条件を設定する際、[クエリの変更] – [検索の並べ替え] 設定で目的の管理プロパティが見つかりません。 要因 : 目的の管理プロパティで並べ替え可能が有効でない可能性があります。 解決方法 : 目的の管理プロパティを並べ替え可能に設定します。設定方法は以下の記事をご参照ください。 SharePoint 2013 検索の並べ替え条件で目的の管理プロパティを使用するための設定 最近変更されたアイテム Web…

0

SharePoint 2013 検索の並べ替え条件で目的の管理プロパティを使用するための設定

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、管理プロパティを検索の並べ替え条件で使用するための設定について説明します。 管理プロパティを検索の並べ替え条件として使用する場合は、該当の管理プロパティの設定で並べ替えを可能にしておく必要があります。設定方法は下記をご確認ください。 管理プロパティで並べ替えを可能に設定する方法 1. サーバーの全体管理サイトにアクセスします。 2. [アプリケーション構成の管理] – [サービス アプリケーションの管理] をクリックします。 3. 該当の Search Service Application をクリックします。 4. サイド リンク バーから [検索スキーマ] をクリックします。 5. 管理プロパティの一覧から目的の管理プロパティをクリックし、[プロパティの編集/マップ] をクリックします。 6. 管理プロパティの編集ページで、[並べ替え可能] の設定を確認します。 [いいえ] が設定されている場合は、該当の管理プロパティを使用した並べ替えが無効になっています。これを有効にする場合は、[はい – アクティブ] に変更した後、フルクロールを実行します。 参考情報) 管理プロパティの編集方法については、下記の TechNet の記事もご参照ください。 SharePoint Server 2013 で検索スキーマを管理する なお、管理プロパティで並べ替えが可能に設定されていない場合、例えば下記のような現象が発生します。 現象1 : コンテンツ検索 Web パーツで並べ替え条件を設定する際、[クエリの変更] – [検索の並べ替え] の設定で目的の管理プロパティが見つからない。 現象2 :…

0

SharePoint 2013 カスタムの検索結果の種類を作成する

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、検索結果の種類についてご紹介します。 検索結果の種類について 検索結果の種類では、対象となる検索結果の条件と、その条件を満たす場合に実行するアクションを設定します。 もう少し詳しく説明すると、検索結果がディスカッションであれば、ディスカッションの表示に適した表示テンプレート Item_Discussion が適用されるよう、検索結果の種類として “Discussion” が設定されています。 この設定により、検索結果がディスカッションの場合は下記のような表示になります。 もうひとつ例をあげると、検索結果が Excel であれば、Excel の表示に適した表示テンプレート Item_Excel が適用されるよう、検索結果の種類として “Microsoft Excel” が設定されています。 この設定により、検索結果が Excel の場合は下記のような表示になります。 補足 : 検索結果の種類はその他にもございます。詳しくは、[検索結果の種類の管理] 画面よりご確認ください。 – 検索結果の種類の管理画面と反映される範囲について 検索結果の種類は、サイト コレクション、サイト単位で設定が可能です。設定された検索結果の種類は、「検索サービス>サイト コレクション>サイト」のように親から継承されます。 サイト コレクションで設定する場合は、[サイトの設定] – [サイト コレクションの管理] – [検索結果の種類] より、設定します。サイトで設定する場合は、[サイトの設定] – [検索] – [検索結果の種類] より、設定します。 以上の内容をふまえて、実際に検索結果の種類を作成する例を見ていきましょう。 検索結果の種類を作成する例 1) 特定の検索結果の種類に対して、カスタムの表示テンプレートを適用したい 2) 検索結果の管理プロパティがある条件に合致した場合に、目的の表示テンプレートを適用したい 3) 複数の検索結果の種類に対して、同一の表示テンプレートを適用したい 1) 特定の検索結果の種類に対して、カスタムの表示テンプレートを適用したい…

0