SharePoint 2013 以降の Search Service Application のタイマージョブについて

こんにちは。SharePoint サポートの清です。 SharePoint 2013, SharePoint 2016 の複数台構成の環境で、Search Service Application を作成後、検索トポロジーを変更いただく際にご留意いただきたいことをお知らせします。   現象 オンプレミスの SharePoint Server 製品では、Search Service Application の検索コンポーネントを複数のサーバーに配置するよう構成できます。 Search Service Application に関連する一部のタイマージョブについて、検索サービス アプリケーションを作成したサーバー (管理コンポーネントが最初に作成されたサーバー) に紐づくタイマージョブがあります。 これらのタイマージョブと現在の検索管理コンポーネントをホストするサーバーが一致しない場合や、ファームにタイマージョブが存在しない場合には、正常に動作しないことが報告されています。   – 詳細 サーバーの全体管理サイトから Search Service Application を作成いただくと、サーバーの全体管理サイトをホストするサーバーに管理コンポーネントが設定されます。 たとえば、サーバーの全体管理サイトから作成後、検索トポロジーを変更して他のサーバーに管理コンポーネントを構成した場合、変更後のサーバーでジョブが動作するようには構成されません。 その他、ジョブが動作しているサーバーをファームから削除した際、該当のジョブが削除される報告を確認しております。   Search Service Application のサーバー固有のタイマー ジョブとして報告されているものは以下です。 DisplayName Name 検索カスタム辞書の更新 Search Custom Dictionaries Update for Search Application <SSA GUID>…

0

フォームベース認証の外部 Web サイトをクロールする際の認証指定について

こんにちは。SharePoint サポートの趙 雲龍です。 本投稿では、クロール ルールの追加ページにおける [認証の指定] セクションの選択肢の 1 つである、 [フォーム資格情報を指定する] の動作変更についてご紹介いたします。 SharePoint Server 2013 において、SharePointサイト以外のフォームベース認証の Web サイトのクロールは、通常はクロール ルールの [フォーム資格情報を指定する] を選択することにより、資格情報を指定し、クロールも可能です。 しかしながら、SharePoint Server 2016 では、セキュリティ強化の変更が行われたため、クロール ルールを使用した場合も SharePoint ファーム以外のサイトのフォームベース認証ページにて認証情報を設定、および取得することができないように変更されました。 このため、SharePoint Server 2016 の環境のクロール ルールの追加ページにある [認証の指定] セッションにて、[フォーム資格情報を指定する] を選択し、[フォームの URL:] にフォームベース認証の外部 Web サイトの URL を入力後、[資格情報の入力] ボタンをクリックすると、下記のメッセ―ジが表示されます。  ==================== メッセージの詳細ここから ==================== ==================== メッセージの詳細ここまで ==================== ■ 対処策 本動作は SharePoint Server 2016 の想定された動作となります。…

0

SharePoint Foundation 2010 で検索サービスを構成した直後にカスタム列の検索結果が返されない事象について

こんにちは。SharePoint サポートの清です。   今回の投稿では、SharePoint Foundation 2010 の環境でカスタム列の検索結果が返されない事象についてご案内いたします。 SharePoint Foundation 2010 では検索機能として、SharePoint Foundation Search V4 (SPSearch4) サービスがインデックス、クエリの役割を提供しております。今回は、このサービスをご利用いただく際に発生する場合がある事象です。 なお、SharePoint Server 2010 の環境で Search Service Application を作成することでご利用いただける検索機能は SharePoint Server Search 14 (OSearch14) サービスで実現されており、本事象には該当いたしません。   現象 ユーザーがカスタム列のデータを検索すると、SharePoint Foundation 2010 で検索サービスが構成された直後に期待どおりの結果が返されません。   原因 検索サービスが構成された直後は、検索スキーマはまだ完全に読み込まれていません。 検索スキーマを参照できない場合、クロールされたプロパティは管理プロパティに正しくマップされません。 その結果、カスタム列のコンテンツは検索インデックスに書き込まれず、ユーザーは検索結果ページで期待される結果が得られない事象が発生します。   補足) 検索スキーマには、クロールされたプロパティから管理プロパティへのマッピングおよび管理プロパティの設定が含まれており、クロールされたプロパティと管理されたプロパティがどのようにマップされるかを制御するために使用されます。 管理プロパティのみが検索インデックスに保持されるので、コンテンツがクロールされた後、コンテンツの内容やメタデータを検索できるようにするには、管理プロパティにクロールされたプロパティをマップする必要があります。   解決方法 この問題を解決するには、システム管理者が検索サービスを構成した後にサービスの再起動とフル クロールを実施します。   管理者として SharePoint Foundation 2010 のサーバーにログオンし、OS…

0

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