SharePoint 検索 REST API の概要
SharePoint の検索 REST サービスと、REST Web 要求をサポートするテクノロジを使用してクライアント アプリケーションとモバイル アプリケーションに検索機能を追加します。
SharePoint Online ユーザーのコンテキストでクエリを実行する場合、以下の場所から結果が返されます。
- SharePoint Online サイト コレクションのコンテンツ
- Microsoft 365 グループのコンテンツ
- OneDrive for Business の共有コンテンツ (OneDrive for Business の所有者以外のユーザーもアクセスできるコンテンツ)
- SharePoint Server 上にある、クラウド検索サービス アプリケーションによりインデックスが作成されたコンテンツ。 クラウド ハイブリッド検索について
コンテンツ配信ネットワーク (CDN) サポート
Office 365 のプライベート CDN またはパブリック CDN が資産のパフォーマンスを最適化するように設定されている場合、このセクションは適用されます。 検索結果に CDN から提供された画像が含まれている場合、その画像の URL は、アセット ライブラリの場所ではなく、結果に返される CDN URL になります。 CDN 関する詳細については、「SharePoint Online での Office 365 コンテンツ配信ネットワーク (CDN) の使用」を参照してください。
検索 REST サービスでクエリを実行する
SharePoint の検索 には、REST Web 要求をサポートするテクノロジを使用して、クライアントとモバイル アプリケーションに検索機能を追加するのに使用できる検索 REST サービスがあります。 検索 REST サービスを使用すると、SharePoint アドイン、リモート クライアント アプリケーション、モバイル アプリケーションなどのアプリケーションで、キーワード クエリ言語 (KQL) または FAST クエリ言語 (FQL) クエリを送信できます。 検索 REST サービスは、HTTP POST 要求と HTTP GET 要求の両方をサポートしています。
GET 要求
検索 REST サービスに対するクエリ GET 要求の URI を次のように作成します。
GET /_api/search/query
GET 要求については、URL でクエリ パラメーターを指定します。 GET 要求 URL は、次の 2 つの方法で作成できます。
GET http://server/_api/search/query?query_parameter=value&query_parameter=value
GET http://server/_api/search/query(query_parameter=value&query_parameter=<value>)
POST 要求
検索 REST サービスに対するクエリ POST 要求の URI を次のように作成します。
POST /_api/search/postquery
POST 要求について、要求のクエリ パラメーターを JavaScript Object Notation (JSON) 形式で渡します。 検索 REST サービスの HTTP POST バージョンの、HTTP GET バージョンでサポートされているすべてのパラメーターをサポートしています。 ただし、一部のパラメーターは、表 1 のようにデータ型が異なります。
表 1. POST 要求のデータ型が異なるクエリ パラメーター
パラメーター | データ型 |
---|---|
SelectProperties | string[] |
RefinementFilters | string[] |
SortList | Sort |
HitHighlightedProperties | string[] |
Properties | Microsoft.SharePoint.Client.Search.Query.KeywordQueryProperties |
次のシナリオで POST 要求を使用します。
- GET 要求で、URL の長さの上限を超える場合。
- 1 つの URL でクエリ パラメーターを指定できない場合。 たとえば、複合型配列またはコンマ区切りの文字列を含むパラメーター値を渡す必要がある場合、 POST 要求を作成する際に柔軟に対応できます。
- ReorderingRules パラメーターを使用する場合は、POST 要求でのみサポートされるためです。
検索 REST 結果の形式
既定で、結果は XML 形式で返されます。 結果を JSON 形式で取得するには、次のヘッダーを要求に追加します。
accept: application/json;odata=verbose
メタデータが必要ない場合は、次のようにします。
accept: application/json;odata=nometadata
検索 REST サービスでクエリ パラメーターを使用する
検索 REST サービスを呼び出す場合、要求にクエリ パラメーターを指定します。 SharePoint の検索は、このクエリパラメーターを使用して検索クエリを作成します。 GET 要求では、URL でクエリ パラメーターを指定します。 POST 要求の場合は、JavaScript Object Notation (JSON) 形式のクエリ パラメーターを本文で渡します。 以下のセクションでは、検索 REST サービスで検索クエリを送信するときに使用できるクエリ パラメーターについて説明します。
QueryText パラメーター
検索クエリのテキストを含む文字列。
GET 要求の例
GET http://{server}/_api/search/query?querytext='sharepoint'
POST 要求の例
{
'request': {
'Querytext': 'sharepoint',
'RowLimit': 20,
'ClientType': 'ContentSearchRegular'
}
}
QueryTemplate
クエリ変換の一環として、クエリ テキストを置き換えるテキストを含む文字列。
GET 要求の例
GET http://server/_api/search/query?querytext='sharepoint'&querytemplate='{searchterms} author:johndoe'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'QueryTemplate': '{searchterms} Author:johndoe'
}
EnableInterleaving
結果ブロックについて返される結果テーブルを、元のクエリに対して返される結果テーブルと混合するかどうかを指定するブール値。
ResultTables を混合する場合は true、それ以外の場合は false です。 既定値は true です。
この値を変更するのは、独自のインターリーブ実装を指定する場合のみです。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&enableinterleaving=true
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableInterleaving': 'True'
}
SourceId
検索クエリを実行するために使用する検索先 ID。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&sourceid='8413cd39-2156-4e00-b54d-11efd9abdb89'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'SourceId': '8413cd39-2156-4e00-b54d-11efd9abdb89'
}
RankingModelId
クエリに使用するランキング モデルの ID。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&rankingmodelid= _CustomRankingModelID_
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RankingModelId': 'CustomRankingModelID '
}
StartRow
返される検索結果に含まれる最初の行。 検索結果のページングを実装するときに、このパラメーターを使用します。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&startrow=10
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'StartRow': '10'
}
注:
高パフォーマンスの検索機能が提供されるようにするために、サポートされている 最大値StartRow
を 50,000に制限する必要があることをご了承ください。 より大きい結果セットをページに表示する必要がある場合は、「大規模な結果セットの改ページ」を参照してください。
RowLimit
検索結果で返される行全体の最大数。 RowsPerPage と比較すると、RowLimit は全体で返される行の最大数です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&rowlimit=30
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RowLimit': '30'
}
RowsPerPage
1 ページあたりの返される行の最大数。 RowLimit と比較して、RowsPerPage はページごとに返される行の最大数を参照し、主に検索結果のページングを実装する場合に使用されます。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&rowsperpage=10
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RowsPerPage': '10'
}
SelectProperties
検索結果で返される管理プロパティ。 管理プロパティを返すには、検索スキーマのプロパティの retrievable フラグを true に設定します。
GET 要求の場合、コンマ区切りのプロパティ一覧を含む文字列で、 SelectProperties パラメーターを指定します。 POST 要求の場合、文字列配列として SelectProperties パラメーターを指定します。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&selectproperties='Title,Author'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'SelectProperties': {
'results': ['Title','Author']
}
}
Culture
クエリのロケール ID (LCID) ( 「Microsoft によって割り当てられたロケール ID」を参照)。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&culture=1044
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Culture': '1044'
}
RefinementFilters
絞り込みクエリを発行するときに使用される絞り込みフィルターのセット。 GET 要求の場合、FQL フィルターとして RefinementFilters パラメーターを指定します。 POST 要求の場合、FQL フィルターの配列として RefinementFilters パラメーターを指定します。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&refinementfilters='fileExtension:equals("docx")'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'RefinementFilters': {
'results': ['fileExtension:equals("docx")']
}
}
Refiners
検索結果で返される絞り込み条件のセット。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&refiners='author,size'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Refiners': 'author,size',
}
HiddenConstraints
クエリに付加する追加のクエリ語。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&hiddenconstraints='developer'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'HiddenConstraints': 'developer'
}
SortList
検索結果の並べ替えに使用するプロパティの一覧。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&sortlist='rank:descending,modifiedby:ascending'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'SortList': {
'results': [
{
'Property': 'Created',
'Direction': '0'
},
{
'Property': 'FileExtension',
'Direction': '1'
}
]
}
}
EnableStemming
ステミングを有効にするかどうかを指定するブール値。
ステミングを有効にする場合は true、それ以外の場合は false です。 既定値は true です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablestemming=false
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableStemming : 'False'
}
TrimDuplicates
重複する項目を結果から削除するかどうかを指定するブール値。
重複する項目を削除するには true、それ以外の場合は false です。 既定値は true です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&trimduplicates=false
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'TrimDuplicates': 'False'
}
Timeout
クエリ要求がタイムアウトするまでの時間 (ミリ秒)。既定値は 30000 です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&timeout=60000
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Timeout': '60000'
}
EnableNicknames
一致を検索するときに検索クエリの正確な用語を使用するか、またはニックネームも使用するかを指定するブール値。 ニックネームを使用する場合は true、それ以外の場合は false です。 既定値は false です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablenicknames=true
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableNicknames': 'True'
}
EnablePhonetic
一致を検索するときにクエリ用語のふりがな形式を使用するかどうかを指定するブール値。
ふりがな形式を使用する場合は true、それ以外の場合は false です。 既定値は false です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablephonetic=true
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnablePhonetic': 'True'
}
EnableFql
クエリに FAST クエリ言語 (FQL) を使用するかどうかを指定するブール値。
クエリが FQL クエリの場合は true、それ以外の場合は false です。 既定値は false です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablefql=true
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableFQL': 'True'
}
HitHighlightedProperties
プロパティ値がユーザーの入力した検索用語と一致する場合、検索結果の概要で強調表示するプロパティ。 GET 要求の場合、コンマ区切りのプロパティ一覧を含む文字列で指定します。 POST 要求の場合、文字列の配列として指定します。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&hithighlightedproperties='Title'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'HitHighlightedProperties': {
'results': ['Title']
}
}
BypassResultTypes
クエリに対して、結果の型処理を実行するかどうかを指定するブール値。
結果の型の処理を実行する場合は false。それ以外の場合は true。 既定値は true です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&bypassresulttypes=true
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'BypassResultTypes': 'true'
}
ProcessBestBets
クエリのおすすめの結果を返すかどうかを指定するブール値。
true を指定すると、ベスト ベットが返されます。それ以外の場合は false。 このパラメーターは 、EnableQueryRules が true に設定されている場合にのみ使用されます。それ以外の場合は無視されます。 既定値は false です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&processbestbets=true&enablequeryrules=true
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'ProcessBestBets': 'true',
'EnableQueryRules': 'true'
}
ClientType
クエリを発行したクライアントの種類。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&clienttype='custom'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'ClientType': 'custom'
}
PersonalizationData
検索クエリを送信したユーザーの GUID。
GET 要求の例
GET http:// _\<server\>_/_api/search/query?querytext='sharepoint'&personalizationdata=' _\<GUID\>_'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'PersonalizationData': ' <GUID> '
}
ResultsURL
検索結果ページの URL。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&resultsurl='http://server/site/resultspage.aspx'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint'
'ResultURL': 'http://server/site/resultspage.aspx'
}
QueryTag
クエリを識別するカスタム タグ。 複数のクエリ タグがある場合は、セミコロン区切りで指定します。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint'
}
プロパティ
クエリの追加プロパティ。 GET 要求は、文字列値のみをサポートします。 POST 要求は、任意の型の値をサポートします。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&properties='termid:guid'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Properties': {
'results': [
{
'Name': 'sampleBooleanProperty',
'Value':
{
'BoolVal': 'True',
'QueryPropertyValueTypeIndex': 3
}
},
{
'Name': 'sampleIntProperty',
'Value':
{
'IntVal': '1234',
'QueryPropertyValueTypeIndex': 2
}
}
]
}
}
注:
QueryPropertyValueType は、プロパティの種類を指定します。各種類には、特定のインデックス値があります。
EnableQueryRules
クエリのクエリ ルールを有効にするかどうかを指定するブール値。
クエリ ルールを有効にする場合は true、それ以外の場合は false です。 既定値は true です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablequeryrules=false
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'EnableQueryRules': 'false'
}
ReorderingRules
検索結果を並べ替える特別なルール。 これらの規則では、特定の条件に一致するドキュメントが結果の上位または下位にランク付けされるように指定できます。 このプロパティは、検索結果がランクに基づいて並べ替えられる場合にのみ適用されます。 このプロパティには POST 要求を使用する必要があります。 GET 要求では機能しません。
次の例では、MatchType は ReorderingRuleMatchType を参照します。 次の例では、'MatchType': '0'
は ResultContainsKeyword
を指定します。
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'ReorderingRules': {
'results': [
{
'MatchValue': '<someValue>',
'Boost': '10',
'MatchType': '0'
}
]
}
}
ProcessPersonalFavorites
検索結果で個人のお気に入りを返すかどうかを指定するブール値。
個人のお気に入りを返す場合は true、それ以外の場合は false です。
GET 要求の例
GET http://_server_/_api/search/query?querytext='sharepoint'&processpersonalfavorites=true
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'ProcessPersonalFavorites': 'false'
}
QueryTemplatePropertiesUrl
queryparametertemplate.xml ファイルの場所。 このファイルは、匿名ユーザーが検索 REST クエリを作成できるようにするために使用されます。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&querytemplatepropertiesurl='spfile://webroot/queryparametertemplate.xml'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
QueryTemplatePropertiesUrl : 'spfile://webroot/queryparametertemplate.xml'
}
HitHighlightedMultivaluePropertyLimit
検索結果でヒットを強調表示するプロパティの数。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&hithighlightedmultivaluepropertylimit=2
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'HitHighlihtedMultivaluePropertyLimit': '2'
}
EnableOrderingHitHighlightedProperty
ヒットが強調表示されたプロパティを並べ替えることができるかどうかを指定するブール値。
並べ替えのルールを有効にする場合は true、それ以外の場合は false です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&enableorderinghithighlightedproperty=false
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'EnableOrderingHitHighlightedProperty': 'false'
}
CollapseSpecification
個々の検索結果の折りたたみ方法を決定するのに使用される管理プロパティ。 結果が個々の折りたたみの仕様に一致する場合、1 つまたは指定した数に折りたたまれます。 結果のプロパティが折りたたみ仕様のすべての個々のプロパティと一致する場合、1 つの折りたたみの仕様に結果が折りたたまれます。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&collapsespecification='Author:1 ContentType:2'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'CollapseSpecification': 'Author:1 ContentType:2'
}
EnableSorting
検索結果を並べ替えるかどうかを指定するブール値。
SortList を使用して検索結果を並べ替える場合は true、 SortList が空の場合はランクで 並べ替 えます。 結果を並べ替えない場合は false にします。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&enablesorting=false
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'EnableSorting': 'false'
}
GenerateBlockRankLog
インターリーブされた結果テーブルの BlockRankLog プロパティで、ブロック ランク ログ情報を返すかどうかを指定するブール値。 ブロック ランク ログには、ブロック スコアに関するテキストの情報と、重複が除去されたドキュメントが含まれます。
ブロック ランク ログ情報を返す場合は true、それ以外の場合は false です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&generateblockranklog=true
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'GenerateBlockRankLog': 'true'
}
UIlanguage
ユーザー インターフェイスのロケール識別子 (LCID) ( 「Microsoft によって割り当てられたロケール ID」を参照)。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&uilanguage=1044
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'UILanguage': '1044'
}
DesiredSnippetLength
検索結果に対して生成される、ヒットが強調表示されたサマリーに表示する優先文字数。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&desiredsnippetlength=80
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'DesiredSnippetLength': '80'
}
MaxSnippetLength
検索結果に対して生成される、ヒットが強調表示されたサマリーに表示する最大文字数。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&maxsnippetlength=100
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'MaxSnippetLength': '100'
}
SummaryLength
検索結果について、結果のサマリーに表示する文字数。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&summarylength=150
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext ': 'sharepoint',
'Summarylength': '150'
}
EnableDynamicGroups
プライベート Microsoft 365 グループの結果を含めるかどうかを指定するブール値。
true を指定すると、プライベート Microsoft 365 グループの結果が含まれます。それ以外の場合は、false を指定します。 既定値は false です。
GET 要求の例
GET http:// _server_/_api/search/query?querytext='sharepoint'&Properties='EnableDynamicGroups:true'
POST 要求の例
{
'__metadata': {
'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
},
'Querytext': 'sharepoint',
'Properties': {
'results': [ {
'Name': 'EnableDynamicGroups',
'Value': { 'BoolVal': true }
}]
}
匿名検索 REST クエリを有効にする
匿名ユーザーからの検索 REST クエリをサポートするように検索を構成することができます。 サイト管理者は、queryparametertemplate.xml ファイルを使用して、匿名ユーザーに公開するクエリ パラメーターを指定することができます。 ここでは、匿名アクセスを有効にするようにサイトを構成する方法と、queryparametertemplate.xml ファイルを作成する方法について説明します。
匿名検索 REST クエリを有効にするには
Web アプリケーションと発行サイトで匿名アクセスを有効にします。 これを行う方法の詳細については、「SharePoint での Web アプリケーションのアクセス許可ポリシーの管理」および「SharePoint on TechNet でのユーザー認証方法の計画」を参照してください。
QueryPropertiesTemplate という新しいドキュメント ライブラリを発行サイトに追加します。
queryparametertemplate.xml という名前の XML ファイルを作成し、次の XML をファイルにコピーします。
<QueryPropertiesTemplate xmlns="https://www.microsoft.com/sharepoint/search/KnownTypes/2008/08" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <QueryProperties i:type="KeywordQueryProperties"> <EnableStemming>true</EnableStemming> <FarmId>FarmID</FarmId> <IgnoreAllNoiseQuery>true</IgnoreAllNoiseQuery> <KeywordInclusion>AllKeywords</KeywordInclusion> <SiteId>SiteID</SiteId> <SummaryLength>180</SummaryLength> <TrimDuplicates>true</TrimDuplicates> <WcfTimeout>120000</WcfTimeout> <WebId>WebID</WebId> <Properties xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <a:KeyValueOfstringanyType> <a:Key>_IsEntSearchLicensed</a:Key> <a:Value i:type="b:boolean" xmlns:b="http://www.w3.org/2001/XMLSchema">true</a:Value> </a:KeyValueOfstringanyType> <a:KeyValueOfstringanyType> <a:Key>EnableSorting</a:Key> <a:Value i:type="b:boolean" xmlns:b="http://www.w3.org/2001/XMLSchema">true</a:Value> </a:KeyValueOfstringanyType> <a:KeyValueOfstringanyType> <a:Key>MaxKeywordQueryTextLength</a:Key> <a:Value i:type="b:int" xmlns:b="http://www.w3.org/2001/XMLSchema">4096</a:Value> </a:KeyValueOfstringanyType> <a:KeyValueOfstringanyType> <a:Key>TryCache</a:Key> <a:Value i:type="b:boolean" xmlns:b="http://www.w3.org/2001/XMLSchema">true</a:Value> </a:KeyValueOfstringanyType> </Properties> <PropertiesContractVersion>15.0.0.0</PropertiesContractVersion> <EnableFQL>false</EnableFQL> <EnableSpellcheck>Suggest</EnableSpellcheck> <EnableUrlSmashing>true</EnableUrlSmashing> <IsCachable>false</IsCachable> <MaxShallowRefinementHits>100</MaxShallowRefinementHits> <MaxSummaryLength>185</MaxSummaryLength> <MaxUrlLength>2048</MaxUrlLength> <SimilarType>None</SimilarType> <SortSimilar>true</SortSimilar> <TrimDuplicatesIncludeId>0</TrimDuplicatesIncludeId> <TrimDuplicatesKeepCount>1</TrimDuplicatesKeepCount> </QueryProperties> <WhiteList xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <a:string>RowLimit</a:string> <a:string>SortList</a:string> <a:string>StartRow</a:string> <a:string>RefinementFilters</a:string> <a:string>Culture</a:string> <a:string>RankingModelId</a:string> <a:string>TrimDuplicatesIncludeId</a:string> <a:string>ReorderingRules</a:string> <a:string>EnableQueryRules</a:string> <a:string>HiddenConstraints</a:string> <a:string>QueryText</a:string> <a:string>QueryTemplate</a:string> </WhiteList> </QueryPropertiesTemplate>
SiteId
FarmId
、、およびWebId
の各要素を、ファーム、Web サイト、発行サイト コレクションの値で更新します。queryparametertemplate.xml を QueryPropertiesTemplate ドキュメント ライブラリに保存します。
値として
spfile://webroot/queryparametertemplate.xml
を指定して、検索 REST 呼び出しにQueryTemplatePropertiesUrl
パラメーターを追加します。
queryparametertemplate.xml ファイル
queryparametertemplate.xmll ファイルの主な要素は次のとおりです。
QueryProperties 要素
シリアル化された QueryProperties オブジェクトを 格納します。
WhiteList 要素
匿名ユーザーが設定することを許可されているクエリ プロパティの一覧が含まれます。
匿名の検索 REST クエリを送信する場合、クエリ オブジェクトは、 QueryProperties 要素で指定した内容を使用して作成されます。 その後、ホワイトリストに表示されるすべてのプロパティが、受け取ったクエリから新しく作成されるクエリ オブジェクトにコピーされます。