SharePoint 2013 前方部分一致検索

SharePoint Server 2013 や SharePoint Online で検索を行う際、前方一致検索を行うやり方をご紹介します。

たとえば、こんな感じのデータがあったとします。
Search1

右上の検索ボックスから検索してみます。(検索センター画面が結果画面で表示)
まずは 「東京」 ってキーワードで検索。結果は思い通りな感じですね。
  Search2

次に 「東京物産」 で検索。当然こうなります。
 Search3

さらに、東京物産 と 東京物流 両方をヒットさせたいから、「東京物」で検索。
 Search4
検索結果はありません。。。

次にたとえばその2です。
ひとを検索してみます。Rie Okuda を Hit させたいです。
姓 や 名、フルネームでの検索は問題なく。途中までの入力はことごとく Hit しません。
Search5

よく検索されている場合、クエリ候補を出してくれますが。
Search6

例を2個あげてみましたが、ありがちな内容かと思います。
こんな時、検索クエリに * つけると前方一致検索となるため、このとおり。
Search7

とはいえ、これを利用者に行ったもらうのは、大変です。
検索キーワードに自動的におしりに 「*」 とつけるように設定してみます。

検索センターで設定を行います。

1.検索結果画面を表示し、[設定] メニューから [ページの編集] をクリックします。
2.
[検索結果] Web パーツの設定画面を開きます。Web パーツの設定画面で [クエリの変更] をクリックします。
   Search8
3.
[クエリの作成] ダイアログが表示されるため、クエリ テキストに 「*」 を追加し、[OK] をクリックします。
   Search9
4.
Web パーツの設定画面で [OK] をクリックします。
5.
さらに、ページを発行します。

結果
 Search10
 Search11

「すべて」 でも 「ひと」 でも同様に利用したい場合、それぞれで設定が必要です。SharePoint のバーティカル検索はページが違うので。詳細はこの Blog 記事からですと、下記が参考にしていただけそうです。
https://crieilluminate.wordpress.com/2015/01/09/sharepoint-%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e6%a4%9c%e7%b4%a2-%e6%a9%9f%e8%83%bd%e3%82%92%e8%bf%bd%e5%8a%a0%e3%81%99%e3%82%8b-%e3%83%90%e3%83%bc%e3%83%86%e3%82%a3%e3%82%ab%e3%83%ab%e6%a4%9c/

奥田

広告

SharePoint ファイル検索 機能を追加する – 検索結果にファイル名を表示する

前回の投稿で、SharePoint の検索画面に 「ファイル」 検索バーティカルメニューを追加する内容をご紹介しました。

今日は関連する内容として、ファイル検索結果の表示形式をカスタマイズする方法をご紹介します。
既定ではファイルが検索にヒットした場合、検索結果として表示される形式は、上図のとおりです。ファイル名のような内容 (上図だと 「サマーセール企画」 とか 「技術資料1」) が表示されていますが、これはファイル名ではなく、ファイルの [タイトル] プロパティです。

[タイトル] プロパティが空白の場合は、ファイル名が表示されますが、ファイル名と [タイトル] プロパティが別々の値の場合、こんな感じに。
SearchDT4
(ファイル名はテスト.docx、タイトル プロパティの 「aaa」が表示されてる)

たとえばファイルのテンプレートがある場合等には、テンプレートにあらかじめタイトル プロパティの値が入っており、それを変更しない場合も多いかと。成果物ファイルのタイトル プロパティの値は入っているけど、意味なない。なんていう場合に、ちょっとうっとうしいです。

ここで、ちょっとだけ検索結果の表示のしくみを。

SharePoint 2013 では検索結果は、検索結果の種類ごと (ファイル、サイト、ひと など) に表示テンプレートが用意されており、表示テンプレートをカスタマイズすることで、検索結果の表示形式を変更できます。

既定でも、検索結果がファイルであっても、パワポの場合と Word の場合、Excel の場合で若干違った表示形式となるのは、それぞれ表示テンプレートが違うためです。
表示テンプレートはマスターページ ギャラリーの [Display Templates] – [Search] フォルダー内に格納されています。
SearchDT2
また検索結果の種類ごとに、どの表示テンプレートを利用するかは、[検索結果の種類] に設定されています。 (下図は、[サイト コレクションの管理] – [検索結果の管理] 画面内)
SearchDT3
SearchDT1

表示テンプレートを新しく作成し、どの検索結果で表示するかといったルールを [検索結果の種類] に登録すると、表示形式にさまざまなバリエーションをもたせられます。たとえば拡張子が●●の場合にはこう表示したい!とか、●●というコンテンツタイプの場合にこう表示したい!とか、このサイト内のコンテンツのみこう表示したい!とか。

検索結果のしくみについては簡単にここまでとしますが、今日はこの表示テンプレートを利用して、検索結果に [タイトル] プロパティではなく [ファイル名] を表示させてみます。

表示テンプレートは、ファイルの場合 Word のもの、Excel のものと、既定でも複数用意されています。Word の場合のみこう変えたい、Excel の場合のみこう変えたい。という場合はそれぞれ対応する表示テンプレートをカスタマイズしますが、今回やりたいことはそうではありません。Word でも Excel でもファイルが検索にヒットした場合に、表示を変更したいのです。そのため、各表示テンプレートのさらにベースとなる Item_CommonItem_Body.html をカスタマイズします。

<手順>

1.マスターページ ギャラリー内の [Display Templates] – [Search] フォルダー内の、
    Item_CommonItem_Body.html を次のように編集します。

    if ($isEmptyString(title)) {title =$htmlEncode(ctx.CurrentItem.Title)} の次の行に下記コードを追加

if(ctx.CurrentItem.FileExtension == "doc"||ctx.CurrentItem.FileExtension == "docx"||ctx.CurrentItem.FileExtension == "dot"||ctx.CurrentItem.FileExtension == "dotx"||ctx.CurrentItem.FileExtension =="xls"||ctx.CurrentItem.FileExtension =="xlsx"||ctx.CurrentItem.FileExtension =="ppt"||ctx.CurrentItem.FileExtension =="pptx"||ctx.CurrentItem.FileExtension=="vsdx"){title=ctx.CurrentItem.Path.replace(/^.*[\\\/]/,’ ‘);} 

※ if 文内のファイル拡張子は、必要に応じて編集、追加ください。 
※ SharePoint Designer 2013 で開いて編集&上書きしてもいいし、ファイルをダウンロードして
      メモ帳等テキストエディターで編集後、上書きアップロードしてもどっちでも OK。

2.上書き保存したら、ファイルをメジャーバージョンに発行してください。

<結果>
SearchDT5

これはサイト コレクション内のファイルに対するカスタマイズです。サイトコレクションごとやサイトごとに検索センターサイトがサイト コレクションをまたいで複数存在する場合、それぞれカスタマイズを適用したいサイト コレクションに対して設定を行ってください。

奥田 うさぎ

SharePoint ファイル検索 機能を追加する – バーティカル検索を利用

SharePoint 2013 で画面右上の検索ボックスより、「すべての検索」 等を選択し検索すると、検索センターにより提供される検索結果画面が表示されます。また検索結果画面では「すべて」 「ひと」 「会話」 「ビデオ」 と4種類のバーティカル検索を行うためのメニューが用意されています。
 DocSearch1

SharePoint 上で検索を行う際、一番探したいものはなんですか? リスト内のデータ (リスト アイテム) である場合、ファイルの場合、ページの場合、と、SharePoint をどう活用しているのか用途によって答えは変わると思いますが、「すべて」を利用した場合、サイトもページもファイルもアイテムも・・・ とあまりにも多くの検索結果が表示されるため、できるだけ少ない操作で目的の結果を表示できるよう設定変更したいケースは多いはずです。

この記事では、検索結果画面にファイル検索を行うバーティカル検索メニューを追加する方法をご紹介します。

<結果イメージ>
 DocSearch8

※ 下記手順は、SharePoint Online および SharePoint Server 2013 で利用可能

Step 1 : 検索結果ページの作成
  まずは検索センターサイト内に、新しい検索結果ページを作成します。

1. 検索センターサイトを開き、[設定] メニューから [新しいページ] をクリックする

2. [ページの追加] 画面で、任意のページファイル名を付けて、[作成] をクリックする
   DocSearch2

3. 新しい検索結果ページが作成される
   DocSearch3

Step 2 : 検索結果ページの設定
  作成した検索結果ページに、ドキュメントのみを検索結果として表示するようにクエリ設定を行います。

1. [検索結果] Web パーツの [Web パーツの編集] をクリックし、編集メニューを開く

2. [検索結果] Web パーツの設定画面で、[クエリの変更] をクリックする

3. [クエリの作成] ダイアログが開くので、クエリテキストを次のように編集する
   DocSearch4

4. [テスト クエリ] をクリックし、結果をプレビューすると、文書ファイル以外にページ ファイル (aspx) も検索結果に含められていることが確認できる。これらを除外するため、[絞り込み条件] タブを開き、contentclass カテゴリーの [STS_ListItem_DocumentLibrary] を選択し、[追加] をクリックする
   DocSearch5

5. [クエリの作成] ダイアログの [OK] をクリックする
  
※ ここではクエリの編集を行いましたが、あらかじめ検索先を作成し、指定する方法でもOKです。

6. [検索結果] Web パーツの設定画面で、[OK] をクリックし、ページは発行する。

Step 3 : バーティカル検索メニューの追加
   Step1、Step2 で作成した検索結果ページを利用し、バーティカル検索用のメニューを追加します。

1. 検索センターサイトで [設定] メニューから [サイトの設定] をクリックする

2. [検索] カテゴリーの [検索の設定] をクリックする

3. [検索ナビゲーションの構成] で [リンクの追加] をクリックする
   DocSearch6

4. 任意のタイトルを入力し、URL には前の手順で作成した検索結果ページを指定 (検索センターサイト内の [ページ] ライブラリ内に保存されている) する
   DocSearch7

5. 検索の設定画面で [OK] をクリックする

以上、完成です♪

またここでご紹介した内容は、次のように利用範囲を指定できます。

サーバー全体やテナント全体で利用したい場合
   グローバル検索センターサイトで本記事内の設定を行う。

・ 特定のサイト コレクションのみで利用したい場合
 
エンタープライズ検索センターサイトを作成し(サイト コレクション内にでも)、そのサイト コレクションの検索センターに指定する。そしてその検索センターサイトで本記事内の設定を行う。

・ 特定のサイトでのみ利用したい場合
  
エンタープライズ検索センターサイトを作成し(対象サイトのサブサイトとしてなど)、そのサイトの検索センターに指定する。
そしてその検索センターサイトで本記事内の設定を行う。

[おすすめトレーニング]
SharePoint 2013 検索機能の理解とカスタマイズ
http://www.crie-illuminate.jp/Pages/CI311-H.aspx

奥田うさぎ

SharePoint 2013 画面右上 検索ボックス 既定を 「すべて」 に変更

SharePoint 2013 の画面右上の検索ボックスについて、[このサイト の検索] が既定です。これを [すべての検索] を既定にできないか? と今年は何度も質問いただいたので、設定メモを。
SearchBox1

まずどうしても行いたい場合に、やらなきゃいけないことはなかなか面倒です。
画面右上の検索ボックスはマスターページに含められていますので、既定値を変更したい場合、マスターページでの編集が必要です。

既定の seattle を上書きしてもいいのですが、今日は、既定のマスターページはそのまま編集せずに、seattle のコピーを作成し、検索ボックスの設定を変更する手順をご紹介します。

    1. トップ レベル サイト内のマスターページギャラリーを、エクスプローラーで開き、seattle.html のコピーを作成
      (seattle-コピー.html が作成されるので、ファイル名をわかりやすくリネームする)
    2. エクスプローラーで、seattle_copy.html をメモ帳で開く
    3. その中にある <div id=”searchInputBox”> タグの内容を下記に置き換える

<!–SPM:<%@ Register Tagprefix=”SEARCHWC” Namespace=”Microsoft.Office.Server.Search.WebControls” Assembly=”Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” %>–><!–SPM: <SEARCHWC:SearchBoxScriptWebPart runat=”server” id=”searchInputBox” TryInplaceQuery=”false” DefaultDropdownNodeId=”1001″ ServerInitialRender=”true” UseSharedSettings=”true” ChromeType=”none” EmitStyleReference=”false” __WebPartId=”{830A3A85-0D7A-42DB-8428-B07A8CBAE4F1}”/>—>

    SearchBox2 
   4.上書き保存
5.
ブラウザーでマスターページギャラリーを開き、seattle_copy.html をメジャーバージョン発行
6.
検索ボックスの既定値を変更したいサイトのマスターページとして設定

<参考 URL>
 https://social.technet.microsoft.com/Forums/ja-JP/0d0f69f8-b461-4bd1-896e-3ef8c06b8036/set-everything-as-a-default-scope-sharepoint-2013?forum=sharepointsearch

ここで、少し宣伝をさせてくださいませ。
このような画面デザインに関わるカスタマイズについてきちんとしくみを理解したい方は、弊社開催トレーニングの
SharePoint 2013 サイト デザイン開発 コースがおすすめです。

こんな画面にカスタマイズする実習を行いながら、SharePoint UI のしくみをじっくり理解いただけます。
sampledesign1
sampledesign2

 

しくみさえ理解できれば、やっていいこと/やってはいけないこと/あまりやらないほうがいいけど仕方なくやること の判断がつくようになりますし、上記参考URLのような記事にあるような内容を自分の環境に組み込むことも可能です。

 

また検索全般に関する設定変更やカスタマイズについてしくみを理解したい&Tips を知りたい方は、
SharePoint 2013 検索機能の理解とカスタマイズ コースがおすすめです。
これまでは個別開催のみ対応としておりましたが、2015年1月から一般開催をはじめました。検索結果をチューニングする方法や、類義語の登録、検索画面のカスタマイズなど、検索に関わる内容を2日間でじっくりと習得いただけます。

実習ベースの2日間となり実習内容は下記のとおりです。
・ 共有フォルダーを検索に含める設定 (SharePoint Server のみ)
・ 検索クエリに候補を登録する (SharePoint Server/SharePoint Online)
SearchSample1
・ 検索結果に優先して表示するサイトを登録する (SharePoint Server/SharePoint Online)
・ 組織内で利用する類義語や略語を検索エンジンに登録する (SharePoint Server のみ)
・ 高度な検索画面に独自プロパティを追加する (SharePoint Server/SharePoint Online)
SearchSample2

・ カスタム エンティティを絞り込みに表示する (SharePoint Server のみ)
SearchSample3
・ 検索結果に、並べ替えメニューを表示する (SharePoint Server/SharePoint Online)
SearchSample4
・ ファイル検索のみのバーティカル検索メニューを追加する (SharePoint Server/SharePoint Online)
SearchSample5
・ 検索結果から、リストビュー等のジャンク結果を排除する (SharePoint Server/SharePoint Online)
・ 指定したサイト コレクション内の特定フォーマットファイルのみ検索する画面を作成する
(SharePoint Server/SharePoint Online)
SearchSample6
・ 人の検索に、名前での並べ替え機能を組み込む (SharePoint Server/SharePoint Online)
SearchSample7
・ 検索結果にルールに応じて常に表示する内容を組み込む (SharePoint Server/SharePoint Online)
SearchSample8
・ ルールに応じて (特定のキーワードが含む検索の場合など) 検索結果のランクを調整する
(SharePoint Server/SharePoint Online)
SearchSample9
・ コンテンツ検索 Web パーツの設定 (SharePoint Server/SharePoint Online)
・ 絞り込みに件数表示カスタマイズ (SharePoint Server/SharePoint Online)
・ 特定のサイト コンテンツのみ、検索結果での表示をカスタマイズ (SharePoint Server/SharePoint Online)
SearchSample10
・ コンテンツ検索 Web パーツの表示カスタマイズ (SharePoint Server/SharePoint Online)

ぜひご受講ご検討くださいませ。

ということで、これが今年最後の投稿になると思います。
2014年も皆様弊社クリエ・イルミネート BLOG を見ていただき、ありがとうございました。
2015年度もどうぞよろしくお願いいたします。

よいお年をお過ごしくださいませ。

奥田 うさぎ

SharePoint Online 検索スキーマへの変更を反映させたい メモ

タイトルどおりのメモです。

SharePoint Online で管理プロパティに対して行った変更を反映させたい場合、サイトやリスト・ライブラリに対してインデックスの再作成設定を行います。インデックスの再作成設定を行うと、次回のクロール時に処理が行われ、管理プロパティに対して行った変更が反映されます。

SharePoint Server 2013 でも同様の操作を行う、もしくはフルクロール時には当然反映されますが、SharePoint Online ではクロールに対する操作をこちら側から行うことはできませんので、管理プロパティに対して行った変更を反映させる際にはこの方法になります。

[参考手順]

  ■ リストやライブラリに対する設定

       1. 対象のリストもしくはライブラリを開き、[リスト] タブもしくは [ライブラリ] タブから [リストの設定]
          もしくは [ライブラリの設定] をクリックする。
      
2. [詳細設定] をクリックする。
      
3. [リスト (ライブラリ) のインデックスを再作成する] をクリックする。

  ■ サイトに対する設定

       1. サイトの設定画面から [検索] – [検索とオフラインでの使用制限] をクリックする。
      
2. [サイト インデックスの再作成] をクリックする。

ちなみに、、http://support.microsoft.com/kb/2008449 からの引用↓

「SharePoint Online では、アップロード後にドキュメントが検索結果に表示されるまで (インデックスの更新確認間隔) には、15 分から 1 時間かかります。アクセスが集中する環境の場合、この時間は最大 6 時間まで増加する場合があります。」  ですって。

SharePoint 2010 検索センターにトップ リンク バーを表示したい

  検索センターサイトでは、他の SharePoint サイトとマスタページが違うためトップ リンク バーが表示されず、検索サイトにアクセスしたあと元のサイトに戻りづらい、と思ったことはないでしょうか?
以前の投稿 「
SharePoint 2010 検索結果ページ 元に戻るメニューを簡単に配置」ではマスターページを変更することなく、簡単に元のページに戻るメニューを作成する方法をご紹介しました。

  この投稿では、マスターページを編集して検索センターサイトにトップリンク バーを表示する方法をご紹介します。
(マスターページをご存じない方は上記にあげた簡単メニューを作成する内容をお勧めします)

  検索センターサイトでは、minimal.master が利用されており、このマスターページにはトップ リンク バーが表示されていません。また minimal.master から既定の v4.master に変更すると検索ボックスが消えてしまいます。

  s31

  あら? 検索ボックスはどこにいったの?というと、こんなところに。。。
s32

ここまでわかれば、v4.master をベースに検索ボックスを表示したい場所に移動するなどの設定を行うことで、トップ リンク バーが表示される検索センターサイト用のマスターページが作成できること、確認いただけるかと思います。

<編集ポイント>
・ PlaceHolderTitleBreadCrumb を PlaceHolderMain の上などに移動

PlaceHolderPageTitleInTileArea や PlaceHolderGlobalNavigation や
ClusteredDirectionalSeparatorArrow コントロールは検索センターサイトに必要ないため、
Hidden を指定した Panel に入れるなど表示しないようにする
サイド リンクを消し、左マージンをなくし、またトップの padding検索結果の表示について微調整するようスタイルを追加

s33

今回は少し宣伝を。。
弊社では、上記のような SharePoint サイトのデザイン編集を行う際にひつような知識を習得していただくためのコースとして、「SharePoint Designer 2010 基礎 – サイト カスタマイズ編 –」 というコースを開催しています。だいたい2か月に一度くらいでオープン開催させていただいており、弊社コースの中でも No.2 の人気コースです!
サイトのデザイン編集をできるようになりたい!という方におすすめで、下記を1日での習得を目指すちょっとスパルタ? コースです。(1日という短期間で必要な知識を習得いただくため、かなりテンポ早く進めるため、眠たくなっている暇はありません。。)
・ デザイン編集が行えるよう、SharePoint デザインしくみの理解
・ SharePoint Designer レベルでサイトのどの部分をどのように編集できるかの理解
(編集できる箇所とできない箇所の理解)
・ カスタマイズ Tips をご紹介しながら、実際にサイトデザイン編集の実習が 3 時間ほど

  また、今回ブログでご紹介したような、実際の要件に沿ったカスタマイズ方法を解説してほしい! というような場合には、オンサイトでのワークショップ (テキストやカリキュラムベースではなく、実際知りたいことのみをベースに解説) も開催しております。

奥田理恵 うさぎ 

SharePoint 2010 検索センターサイトにドキュメント検索 タブを追加

  検索センター サイト (エンタープライズ検索センターサイト) では既定で [すべてのサイト] と [ひと] とタブが表示されています。このタブは追加が可能です。

(以前の投稿 検索センターに キーワード構文検索タブ追加」 では SharePoint 2007 で検索タブを追加する方法をご紹介しています)

 SharePoint で検索する際には、やはりファイルを探すことが多いかと思いますので、今回は [ドキュメント検索] というタブを追加し、ライブラリ内に保存されているファイルのみ検索結果に表示されるタブを追加するカスタマイズ方法をご紹介します。

  1. 検索結果ページを作成します。
    
発行ページで、ページレイアウトを (ウェルカム ページ) 検索結果 を指定

  2. 作成した検索結果ページで、主要な検索結果 Web パーツの編集画面を開き、[結果のクエリ オプション] 内の
     [クエリにテキストを追加] に contentclass:STS_ListItem_DocumentLibrary を入力し、
     [OK] をクリックします。

  3. 検索結果ページを発行します。

  4. 検索ボックスが表示されるページを作成します。
     発行ページで、ページ レイアウトを (ウェルカム ページ) 検索ボックスを指定。

  5. 作成した検索ボックス ページで、検索ボックス Web パーツの編集画面を開き、[その他] 内の
     [対象の検索結果ページの URL] に手順1 で作成した検索結果ページのファイル名を指定し、[OK] をクリックします。

  6. ページ内に表示されている [新しいタブの追加] をクリック

  7. 新しいタブを追加する入力画面で、次のように入力し、[保存] をクリックします。
    
・ タブ名: ドキュメント検索
    
・ ページ: 新しく作成した検索ボックスページのファイル名を指定
    
・ ヒント:ヒントとなる文字列を入力

  8. 検索ボックスページを発行します。

  9. 検索ページでタブが3つ切り替わることを確認します。
    s21

10. 追加した [ドキュメント検索] タブで任意の検索を行い、検索結果がライブラリ内の内容のみとなっていることを確認します。
    s22

  11. 結果ページにもタブを追加します。 
     結果ページを編集画面に切り替え、[新しいタブの追加] をクリックし、手順7と同様のタブを追加します。
      ・
タブ名: ドキュメント検索
      ・
ページ: 新しく作成した検索結果ページのファイル名を指定
      ・
ヒント:ヒントとなる文字列を入力

  12. 検索結果ページを発行します。

  できあがり♪

  奥田理恵 うさぎ