トップ回答者
ドキュメントのみの検索

質問
-
通常検索では、「おしらせ」や「ディスカッション」、「ドキュメント」の検索が可能となっていますが、
[検索ボックス]のプロパティを変更することにより、常に「ドキュメント」のみの検索を行うことが可能です。
変更箇所
[追加のクエリ用語] に isdocument:1 を設定する。
検索ページの[検索ボックス]であれば、ページの編集で編集できるのですが、
この設定をTOPページ右上に表示されている検索ボックスに設定したいのですが、どのように設定すればよいでしょうか?
(この部分の変更は、Desinerが必要な気がしてきました。。)
また、他の方法で、常にドキュメントのみを検索するように設定することは可能でしょうか?
回答
-
右上の検索ボックスは、SharePoint Designerを使っても設定を変更することができません。
右上の検索ボックスは、OSearchBasicFeatureというフィーチャーとして登録されているコントロールで、このフィーチャーの定義の中で検索ボックスの設定を変更することができます。以下のフォルダの中にあるSearchArea.xmlが、右上の検索ボックスのコントロールになります。
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\OSearchBasicFeature
SearchArea.xmlは以下のような内容になっており、Propertyタグで「追加のクエリ用語」のプロパティを追加して「isdocument:1」をセットしてあげれば、ご期待の形になるのではないかと思います。(赤字部分)
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Control
Id="SmallSearchInputBox"
Sequence="50"
ControlClass="Microsoft.SharePoint.Portal.WebControls.SearchBoxEx" ControlAssembly="Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c">
<Property Name="GoImageUrl">/_layouts/images/gosearch.gif</Property>
<Property Name="GoImageUrlRTL">/_layouts/images/goRTL.gif</Property>
<Property Name="GoImageActiveUrl">/_layouts/images/gosearch.gif</Property>
<Property Name="GoImageActiveUrlRTL">/_layouts/images/goRTL.gif</Property>
<Property Name="DropDownMode">ShowDD</Property>
<Property Name="SearchResultPageURL">/_layouts/osssearchresults.aspx</Property>
<Property Name="ScopeDisplayGroupName"></Property>
<Property Name="FrameType">None</Property>
<Property Name="xxx">isdocument:1</Property>
</Control>
</Elements>ただ、ざっと調べた限りでは「追加のクエリ用語」に該当するプロパティの名前がわかりませんでした。。。
すべての返信
-
右上の検索ボックスは、SharePoint Designerを使っても設定を変更することができません。
右上の検索ボックスは、OSearchBasicFeatureというフィーチャーとして登録されているコントロールで、このフィーチャーの定義の中で検索ボックスの設定を変更することができます。以下のフォルダの中にあるSearchArea.xmlが、右上の検索ボックスのコントロールになります。
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\OSearchBasicFeature
SearchArea.xmlは以下のような内容になっており、Propertyタグで「追加のクエリ用語」のプロパティを追加して「isdocument:1」をセットしてあげれば、ご期待の形になるのではないかと思います。(赤字部分)
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Control
Id="SmallSearchInputBox"
Sequence="50"
ControlClass="Microsoft.SharePoint.Portal.WebControls.SearchBoxEx" ControlAssembly="Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c">
<Property Name="GoImageUrl">/_layouts/images/gosearch.gif</Property>
<Property Name="GoImageUrlRTL">/_layouts/images/goRTL.gif</Property>
<Property Name="GoImageActiveUrl">/_layouts/images/gosearch.gif</Property>
<Property Name="GoImageActiveUrlRTL">/_layouts/images/goRTL.gif</Property>
<Property Name="DropDownMode">ShowDD</Property>
<Property Name="SearchResultPageURL">/_layouts/osssearchresults.aspx</Property>
<Property Name="ScopeDisplayGroupName"></Property>
<Property Name="FrameType">None</Property>
<Property Name="xxx">isdocument:1</Property>
</Control>
</Elements>ただ、ざっと調べた限りでは「追加のクエリ用語」に該当するプロパティの名前がわかりませんでした。。。
-
ありがとうございます! 解決しました。
プロパティは、
<Property Name="AppendToQuery">false</Property> ← 追加の用語をクエリに加える
<Property Name="AppQueryTerms">isdocument:1</Property> ← 追加のクエリ用語
を設定しました。
しかし、 OSearchBasicFeature のフィーチャーに追加したところ、うまく動作できなかったので、
OSearchEnhancedFeatureへ追加したところ正常に動作しました。
(すみません、この2つの違いはわかりません。)
環境はMOSS2007ですが、サイトを主に文書管理に利用しており、検索に「お知らせ」や「ディスカッション」を含めたくなく、さらに「高度な検索」でドキュメントを指定するのが面倒なので、あらかじめドキュメントだけ検索したいとの要望から、今回ドキュメントのみの検索が必要でした。