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&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;startrow=10

POST 要求の例

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'StartRow': '10'
}

注:

高パフォーマンスの検索機能が提供されるようにするために、サポートされている 最大値StartRow50,000に制限する必要があることをご了承ください。 より大きい結果セットをページに表示する必要がある場合は、「大規模な結果セットの改ページ」を参照してください。

RowLimit

検索結果で返される行全体の最大数。 RowsPerPage と比較すると、RowLimit は全体で返される行の最大数です。

GET 要求の例

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;bypassresulttypes=true

POST 要求の例

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'BypassResultTypes': 'true'
}

ProcessBestBets

クエリのおすすめの結果を返すかどうかを指定するブール値。

true を指定すると、ベスト ベットが返されます。それ以外の場合は false。 このパラメーターは 、EnableQueryRulestrue に設定されている場合にのみ使用されます。それ以外の場合は無視されます。 既定値は false です。

GET 要求の例

GET http:// _server_/_api/search/query?querytext='sharepoint'&amp;processbestbets=true&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;enablequeryrules=false

POST 要求の例

{
  '__metadata': {
    'type': 'Microsoft.Office.Server.Search.REST.SearchRequest'
  },
  'Querytext': 'sharepoint',
  'EnableQueryRules': 'false'
}

ReorderingRules

検索結果を並べ替える特別なルール。 これらの規則では、特定の条件に一致するドキュメントが結果の上位または下位にランク付けされるように指定できます。 このプロパティは、検索結果がランクに基づいて並べ替えられる場合にのみ適用されます。 このプロパティには POST 要求を使用する必要があります。 GET 要求では機能しません。

次の例では、MatchTypeReorderingRuleMatchType を参照します。 次の例では、'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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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'&amp;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 クエリを有効にするには

  1. Web アプリケーションと発行サイトで匿名アクセスを有効にします。 これを行う方法の詳細については、「SharePoint での Web アプリケーションのアクセス許可ポリシーの管理」および「SharePoint on TechNet でのユーザー認証方法の計画」を参照してください。

  2. QueryPropertiesTemplate という新しいドキュメント ライブラリを発行サイトに追加します。

  3. 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>
    
  4. SiteIdFarmId、、および WebId の各要素を、ファーム、Web サイト、発行サイト コレクションの値で更新します。

  5. queryparametertemplate.xmlQueryPropertiesTemplate ドキュメント ライブラリに保存します。

  6. 値として spfile://webroot/queryparametertemplate.xml を指定して、検索 REST 呼び出しに QueryTemplatePropertiesUrl パラメーターを追加します。

queryparametertemplate.xml ファイル

queryparametertemplate.xmll ファイルの主な要素は次のとおりです。

  • QueryProperties 要素

    シリアル化された QueryProperties オブジェクトを 格納します。

  • WhiteList 要素

    匿名ユーザーが設定することを許可されているクエリ プロパティの一覧が含まれます。

匿名の検索 REST クエリを送信する場合、クエリ オブジェクトは、 QueryProperties 要素で指定した内容を使用して作成されます。 その後、ホワイトリストに表示されるすべてのプロパティが、受け取ったクエリから新しく作成されるクエリ オブジェクトにコピーされます。

このセクションの内容

関連項目