Общие сведения об API REST для службы поиска SharePointSharePoint Search REST API overview

Добавление функций поиска в клиентские и мобильные приложения с помощью службы поиска REST в SharePoint и любой технологии, поддерживающей веб-запросы REST.Add search functionality to client and mobile applications using the Search REST service in SharePoint and any technology that supports REST web requests.

Когда вы выполняете запросы в контексте пользователя SharePoint Online, вы получаете результаты из указанных ниже источников.When you query in the context of a SharePoint Online user, you get results from:

  • Содержимое веб-сайтов SharePoint OnlineContent in SharePoint Online site collections
  • Содержимое групп Office 365Content in Office 365 Groups
  • Общее содержимое OneDrive для бизнеса (содержимое, доступное для пользователей помимо владельца OneDrive для бизнеса)Shared OneDrive for Business content (content that's accessible for others than the owner of the OneDrive for Business)
  • Содержимое из SharePoint Server, которое индексируется с помощью приложения облачной службы поиска.Content from SharePoint Server that's been indexed via a cloud search Service application. Сведения об облачном гибридном поиске.Learn about cloud hybrid search for SharePoint

Если пользователям также нужны результаты из содержимого OneDrive для бизнеса, доступного только им, для этого можно использовать параметр ContentSetting.If your users also expect results from OneDrive for Business content that only they have access to, you can use the ContentSetting parameter to achieve this.

Отправка запросов с помощью службы поиска RESTQuerying with the Search REST service

Поиск в SharePoint включает службу поиска REST, которую вы можете использовать для добавления функции поиска в свои клиентские или мобильные приложения с помощью любой технологии, поддерживающей веб-запросы REST. Вы можете использовать службу поиска REST для отправки запросов на языке запросов по ключевым словам (KQL) или на языке FAST-запросов (FQL) в своих Надстройки SharePoint, удаленных клиентских приложениях, мобильных и других приложениях.Search in SharePoint includes a Search REST service you can use to add search functionality to your client and mobile applications by using any technology that supports REST web requests. You can use the Search REST service to submit Keyword Query Language (KQL) or FAST Query Language (FQL) queries in your SharePoint Add-ins, remote client applications, mobile applications, and other applications.

Служба поиска REST поддерживает HTTP-запросы POST и GET.The Search REST service supports both HTTP POST and HTTP GET requests.

Запросы GETGET requests

Создайте URI, чтобы отправлять службе поиска REST запросы GET:Construct the URI for query GET requests to the Search REST service as follows:

/_api/search/query

Укажите параметры запроса для запросов GET в URL-адресе. Вы можете создать URL-адрес запроса GET двумя способами:For GET requests, you specify the query parameters in the URL. You can construct the GET request URL in two ways:

http://server/_api/search/query?query_parameter=value&query_parameter=value

http://server/_api/search/query(query_parameter=value&amp;query_parameter=<value>)

Запросы POSTPOST requests

Создайте URI, чтобы отправлять службе поиска REST запросы POST:You construct the URI for query POST requests to the Search REST service as follows:

/_api/search/postquery

Для запросов POST передайте параметры запроса в запросе в формате Нотация объектов JavaScript (JSON).For POST requests, you pass the query parameters in the request in JavaScript Object Notation (JSON) format.

HTTP-версия POST службы поиска REST поддерживает все параметры, поддерживаемые версией GET. Однако некоторые параметры имеют различные типы данных, как это описано в таблице 1.The HTTP POST version of the Search REST service supports all parameters supported by the HTTP GET version. However, some of the parameters have different data types, as described in Table 1.

Таблица 1. Параметры запроса с различными типами данных для запросов POSTTable 1. Query parameters with different data types for POST requests

ПараметрParameter Тип данныхData type
SelectPropertiesSelectProperties
строка[]string[]
RefinementFiltersRefinementFilters
строка[]string[]
SortListSortList
SortSort
HithighlightedPropertiesHithighlightedProperties
строка[]string[]
PropertiesProperties
Microsoft.SharePoint.Client.Search.Query.KeywordQueryPropertiesMicrosoft.SharePoint.Client.Search.Query.KeywordQueryProperties

Используйте запросы POST в следующих случаях:Use POST requests in the following scenarios:

  • Если вы превысите ограничение длины URL-адреса с помощью запроса GET.When you'll exceed the URL length restriction with a GET request.

  • Если вы не можете указать параметры запроса в простом URL-адресе. Например, если вам нужно передать значения параметров, которые содержат массив сложных типов или строки с разделителем-запятой, запрос POST предоставит вам более широкие возможности.When you can't specify the query parameters in a simple URL. For example, if you have to pass parameter values that contain a complex type array, or comma-separated strings, you have more flexibility when constructing the POST request.

  • Если вы используете параметр ReorderingRules, так как он поддерживается только с помощью запросов POST.When you use the ReorderingRules parameter because it is supported only with POST requests.

Использование параметров запроса с помощью службы поиска RESTUsing query parameters with the Search REST service

При вызове службы поиска REST вы указываете параметры запроса вместе с самим запросом. Поиск в SharePoint использует эти параметры для создания запроса поиска. Для запроса GET укажите параметры запроса в URL-адресе, для запросов POST передайте их в теле в формате Нотация объектов JavaScript (JSON).When you make a call to the Search REST service, you specify query parameters with the request. Search in SharePoint uses these query parameters to construct the search query. With a GET request, you specify the query parameters in the URL. For POST requests, you pass the query parameters in the body in JavaScript Object Notation (JSON) format.

В следующих разделах описаны параметры запроса, которые можно использовать для отправки запросов поиска с помощью службы поиска REST.The following sections describe the query parameters you can use to submit search queries with the Search REST service.

Параметр QueryTextQueryText parameter

Строка, содержащая текст для запроса поиска.A string that contains the text for the search query.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'http:// _server/_api/search/query?querytext='sharepoint'

Пример запроса POSTSample POST request

{
    'request': {
         'Querytext': 'sharepoint',
         'RowLimit':20, 
         'ClientType':'ContentSearchRegular'
         }
}

QueryTemplateQueryTemplate

Строка, содержащая текст, который замещает текст запроса в ходе преобразования запроса.A string that contains the text that replaces the query text, as part of a query transform.

Пример запроса GETSample GET request

http://server/_api/search/query?querytext='sharepoint'&querytemplate='{searchterms} author:johndoe'http://server/_api/search/query?querytext='sharepoint'&querytemplate='{searchterms} author:johndoe'

Пример запроса POSTSample POST request


{
'__metadata' : {'type' : 'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
'Querytemplate' : '{searchterms} Author:johndoe'
}

EnableInterleavingEnableInterleaving

Логическое значение, которое указывает смешаны ли таблицы результатов, возвращенных для блока результатов, с таблицами результатов, возвращенных для исходного запроса.A Boolean value that specifies whether the result tables that are returned for the result block are mixed with the result tables that are returned for the original query.

Значение true, чтобы связать ResultTables; иначе false. Значение по умолчанию true.true to mix the ResultTables; otherwise, false. The default value is true.

Изменяйте это значение только в том случае, если вы хотите предоставить собственное чередующееся выполнение.Change this value only if you want to provide your own interleaving implementation.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&enableinterleaving=truehttp:// _server/_api/search/query?querytext='sharepoint'&enableinterleaving=true

Пример запроса POSTSample POST request


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

SourceIdSourceId

Идентификатор источника результатов, использующийся для выполнения запроса поиска.The result source ID to use for executing the search query.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&sourceid='8413cd39-2156-4e00-b54d-11efd9abdb89'http:// _server/_api/search/query?querytext='sharepoint'&sourceid='8413cd39-2156-4e00-b54d-11efd9abdb89'

Пример запроса POSTSample POST request


{
'__metadata' : {'type' : 'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
'SourceId' : '8413cd39-2156-4e00-b54d-11efd9abdb89'
}

RankingModelIdRankingModelId

Идентификатор модели ранжирования для запроса.The ID of the ranking model to use for the query.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&rankingmodelid= _CustomRankingModelIDhttp:// server/api/search/query?querytext='sharepoint'&rankingmodelid= _CustomRankingModelID

Пример запроса POSTSample POST request


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

StartRowStartRow

Первая строка, включаемая в возвращаемые результаты поиска. Используйте этот параметр, чтобы разбить результаты поиска по страницам.The first row that is included in the search results that are returned. You use this parameter when you want to implement paging for search results.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&startrow=10http:// _server/_api/search/query?querytext='sharepoint'&startrow=10

Пример запроса POSTSample POST request


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

RowLimitRowLimit

Общее максимальное количество строк, которые возвращаются в результатах поиска. По сравнению с RowsPerPage, RowLimit это максимальное количество возвращаемых строк в целом.The maximum number of rows overall that are returned in the search results. Compared to RowsPerPage, RowLimit is the maximum number of rows returned overall.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&rowlimit=30http:// _server/_api/search/query?querytext='sharepoint'&rowlimit=30

Пример запроса POSTSample POST request


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

RowsPerPageRowsPerPage

Максимальное количество строк, возвращаемых на каждую страницу. По сравнению с RowLimit, RowsPerPage ссылается на максимальное количество строк, возвращаемых на страницу, и обычно используется в случаях, когда необходимо разбить результаты поиска по страницам.The maximum number of rows to return per page. Compared to RowLimit, RowsPerPage refers to the maximum number of rows to return per page, and is used primarily when you want to implement paging for search results.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&rowsperpage=10http:// _server/_api/search/query?querytext='sharepoint'&rowsperpage=10

Пример запроса POSTSample POST request


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

SelectPropertiesSelectProperties

Управляемые свойства, возвращаемые в результатах поиска. Чтобы вернуть управляемое свойство, установите флаг извлечения свойства в схеме поиска в значение true.The managed properties to return in the search results. To return a managed property, set the property's retrievable flag to true in the search schema.

Для запросов GET укажите в строке, содержащей список свойств, разделенных запятыми, параметр SelectProperties. Для запросов POST укажите параметр SelectProperties в виде массива строк.For GET requests, you specify the SelectProperties parameter in a string containing a comma-separated list of properties. For POST requests, you specify the SelectProperties parameter as a string array.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&selectproperties='Title,Author'http:// _server/_api/search/query?querytext='sharepoint'&selectproperties='Title,Author'

Пример запроса POSTSample POST request


{
'__metadata' : {'type' : 'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
'SelectProperties' : {
    'results' : [
          'Title,
          Author'
          ]
}
}

CultureCulture

Код языка (LCID) для запроса (см. статью Коды языков, присвоенные Майкрософт).The locale ID (LCID) for the query (see Locale IDs Assigned by Microsoft).

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&culture=1044http:// _server/_api/search/query?querytext='sharepoint'&culture=1044

Пример запроса POSTSample POST request


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

RefinementFiltersRefinementFilters

Набор фильтров уточнения, используемых при получении запроса уточнения. Для запросов GET параметр RefinementFilters указывается в виде FQL-фильтра. Для запросов POST параметр RefinementFilters указывается в виде массива FQL-фильтров.The set of refinement filters used when issuing a refinement query. For GET requests, the RefinementFilters parameter is specified as an FQL filter. For POST requests, the RefinementFilters parameter is specified as an array of FQL filters.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&refinementfilters='fileExtension:equals("docx")'http:// _server/_api/search/query?querytext='sharepoint'&refinementfilters='fileExtension:equals("docx")'

Пример запроса POSTSample POST request


{
'__metadata' : {'type' : 'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
'RefinementFilters' : {
'results' : ['fileExtension:equals("docx")']
}
}

УточненияRefiners

Набор уточнений, возвращаемых в результатах поиска.The set of refiners to return in a search result.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&refiners='author,size'http:// _server/_api/search/query?querytext='sharepoint'&refiners='author,size'

Пример запроса POSTSample POST request


{
'__metadata':{'type':'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext':'sharepoint',
'Refiners': 'author,size',
}
}

HiddenConstraintsHiddenConstraints

Дополнительные термины, присоединяемые к запросу.The additional query terms to append to the query.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&hiddenconstraints='developer'http:// _server/_api/search/query?querytext='sharepoint'&hiddenconstraints='developer'

Пример запроса POSTSample POST request


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

SortListSortList

Список свойств, по которым упорядочиваются результаты поиска.The list of properties by which the search results are ordered.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&sortlist='rank:descending,modifiedby:ascending'http:// _server/_api/search/query?querytext='sharepoint'&sortlist='rank:descending,modifiedby:ascending'

Пример запроса POSTSample POST request


{
'__metadata' : {'type':'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
'SortList' : 
{
    'results' : [
        {
                'Property':'Created',
                'Direction': '0'
        },
        {
                'Property':'FileExtension',
                'Direction': '1'
        }
    ]
}
}

EnableStemmingEnableStemming

Логическое значение, указывающее, включено ли выделение корней.A Boolean value that specifies whether stemming is enabled.

Значение true, если выделение корней включено, иначе false. Значение по умолчанию true.true if the stemming is enabled; otherwise, false. The default value is true.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&enablestemming=falsehttp:// _server/_api/search/query?querytext='sharepoint'&enablestemming=false

Пример запроса POSTSample POST request


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

TrimDuplicatesTrimDuplicates

Логическое значение, указывающее, удалены ли из результатов повторяющиеся элементы.A Boolean value that specifies whether duplicate items are removed from the results.

Значение true, чтобы удалить повторяющиеся элементы, иначе false. Значение по умолчанию true.true to remove the duplicate items; otherwise, false. The default value is true.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&trimduplicates=falsehttp:// _server/_api/search/query?querytext='sharepoint'&trimduplicates=false

Пример запроса POSTSample POST request


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

TimeoutTimeout

Время до истечения времени запроса в миллисекундах. Значение по умолчанию: 30 000.The amount of time in milliseconds before the query request times out. The default value is 30000.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&timeout=60000http:// _server/_api/search/query?querytext='sharepoint'&timeout=60000

Пример запроса POSTSample POST request


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

EnableNicknamesEnableNicknames

Логическое значение, указывающее, используются для поиска совпадений только точные термины или еще и псевдонимы.A Boolean value that specifies whether the exact terms in the search query are used to find matches, or if nicknames are used also.

Значение true, если используются псевдонимы; иначе false. Значение по умолчанию false.true if nicknames are used; otherwise, false. The default value is false.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&enablenicknames=truehttp:// _server/_api/search/query?querytext='sharepoint'&enablenicknames=true

Пример запроса POSTSample POST request


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

EnablePhoneticEnablePhonetic

Логическое значение, которое указывает, используется ли для поиска соответствий фонетические формы терминов запроса.A Boolean value that specifies whether the phonetic forms of the query terms are used to find matches.

Значение true, если используются фонетические формы, иначе false. Значение по умолчанию false.true if phonetic forms are used; otherwise, false. The default value is false.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&enablephonetic=truehttp:// _server/_api/search/query?querytext='sharepoint'&enablephonetic=true

Пример запроса POSTSample POST request


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

EnableFqlEnableFql

Логическое значение, указывающее, использует ли запрос язык FAST-запросов (FQL).A Boolean value that specifies whether the query uses the FAST Query Language (FQL).

Значение true, если запрос является FQL-запросом, иначе false. Значение по умолчанию false.true if the query is an FQL query; otherwise, false. The default value is false.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&enablefql=truehttp:// _server/_api/search/query?querytext='sharepoint'&enablefql=true

Пример запроса POSTSample POST request


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

HithighlightedPropertiesHithighlightedProperties

Свойства, которые выделяются в сводке результатов поиска, если значение свойства соответствует терминам поиска, которые указал пользователь. Для запросов GET укажите в виде строки, содержащую список свойств, разделенных запятыми; для запросов POST в виде массива строк.The properties to highlight in the search result summary when the property value matches the search terms entered by the user. For GET requests, Specify in a string containing a comma-separated list of properties. For POST requests, specify as an array of strings.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&hithighlightedproperties='Title'http:// _server/_api/search/query?querytext='sharepoint'&hithighlightedproperties='Title'

Пример запроса POSTSample POST request


{
'__metadata' : {'type':'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
'HitHighlightedProperties' :  {
    'results' : [
         'Title'   
    ]
}
}

BypassResultTypesBypassResultTypes

Логическое значение, указывающее, следует ли выполнять обработку типа результата для запроса.A Boolean value that specifies whether to perform result type processing for the query.

Значение true, чтобы выполнить обработку типа результата, иначе false. Значение по умолчанию false.true to perform result type processing; otherwise, false. The default value is false.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&bypassresulttypes=truehttp:// _server/_api/search/query?querytext='sharepoint'&bypassresulttypes=true

Пример запроса POSTSample POST request


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

ProcessBestBetsProcessBestBets

Логическое значение, указывающее, следует ли возвращать наиболее подходящие элементы результатов для запроса.A Boolean value that specifies whether to return best bet results for the query.

Значение true, чтобы вернуть наиболее подходящие элементы, иначе false. Этот параметр используется только когда EnableQueryRules установлен в значение true, в противном случае он игнорируется. Значение по умолчанию false.true to return best bets; otherwise, false. This parameter is used only when EnableQueryRules is set to true, otherwise it is ignored. The default value is false.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&processbestbets=true&enablequeryrules=truehttp:// _server/_api/search/query?querytext='sharepoint'&processbestbets=true&enablequeryrules=true

Пример запроса POSTSample POST request


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

ClientTypeClientType

Тип клиента, выдавшего запрос.The type of the client that issued the query.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&clienttype='custom'http:// _server/_api/search/query?querytext='sharepoint'&clienttype='custom'

Пример запроса POSTSample POST request


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

PersonalizationDataPersonalizationData

GUID пользователя, отправившего запрос поиска.The GUID for the user who submitted the search query.

Пример запроса GETSample GET request

http:// <server>/api/search/query?querytext='sharepoint'&personalizationdata=' <GUID>'http:// <server>/_api/search/query?querytext='sharepoint'&personalizationdata=' <GUID>_'

Пример запроса POSTSample POST request


{
'__metadata' : {'type' : 'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
'PersonalizationData' : ' <GUID> '
}

ResultsURLResultsURL

URL-адрес для страницы результатов поиска.The URL for the search results page.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&resultsurl='http://server/site/resultspage.aspx'http:// _server/_api/search/query?querytext='sharepoint'&resultsurl='http://server/site/resultspage.aspx'

Пример запроса POSTSample POST request


{
'__metadata' : {'type' : 'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint'
'ResultURL' : 'http://server/site/resultspage.aspx'
}

QueryTagQueryTag

Пользовательские теги, идентифицирующие запрос. Вы можете указать несколько тегов запроса, разделенных точкой с запятой.Custom tags that identify the query. You can specify multiple query tags, separated by semicolons.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'http:// _server/_api/search/query?querytext='sharepoint'

Пример запроса POSTSample POST request


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

СвойстваProperties

Дополнительные свойства для запроса. Запросы GET поддерживают только строковое значение. Запросы POST поддерживают значения любого типа.Additional properties for the query. GET requests support only string values. POST requests support values of any type.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&properties='termid:guid'http:// _server/_api/search/query?querytext='sharepoint'&properties='termid:guid'

Пример запроса POSTSample POST request


{
'__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 указывает тип свойства. Каждый тип имеет определенное значение индекса.QueryPropertyValueType specifies the type for the property; each type has a specific index value.

EnableQueryRulesEnableQueryRules

Логическое значение, указывающее, включены ли правила запросов для запроса.A Boolean value that specifies whether to enable query rules for the query.

Значение true, чтобы включить правила запросов, иначе false. Значение по умолчанию true.true to enable query rules; otherwise, false. The default value is true.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&enablequeryrules=falsehttp:// _server/_api/search/query?querytext='sharepoint'&enablequeryrules=false

Пример запроса POSTSample POST request


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

ReorderingRulesReorderingRules

Специальные правила для изменения порядка результатов поиска. Эти правила могут указывать, что документы, соответствующие определенным условиям, имеют более высокий или более низкий рейтинг в результатах. Это свойство применяется только тогда, когда результаты поиска отсортированы на основе рейтинга. Используйте для этого свойства запрос POST, оно не работает с запросом GET.Special rules for reordering search results. These rules can specify that documents matching certain conditions are ranked higher or lower in the results. This property applies only when search results are sorted based on rank. You must use a POST request for this property; it does not work in a GET request.

В следующем примере MatchType относится к ReorderingRuleMatchType . В следующем примере 'MatchType' : '0' определяет ResultContainsKeyword .In the following example, MatchType refers to ReorderingRuleMatchType . In the following example, 'MatchType' : '0' specifies ResultContainsKeyword .

Пример запроса POSTSample POST request


{
'__metadata' : {'type' : 'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
'ReorderingRules' :  {
    'results' : [
         {
             'MatchValue' : '<someValue>',
             'Boost' : '10',
             'MatchType' : '0'
         }
    ]
}
}

ProcessPersonalFavoritesProcessPersonalFavorites

Логическое значение, указывающее, возвращать ли личное избранное с результатами поиска.A Boolean value that specifies whether to return personal favorites with the search results.

Значение true, чтобы вернуть личное избранное, иначе false.true to return personal favorites; otherwise false.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&processpersonalfavorites=truehttp:// _server/_api/search/query?querytext='sharepoint'&processpersonalfavorites=true

Пример запроса POSTSample POST request


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

QueryTemplatePropertiesUrlQueryTemplatePropertiesUrl

Расположение файла queryparametertemplate.xml. Этот файл используется для того, чтобы разрешить анонимным пользователям создавать запросы поиска REST.The location of the queryparametertemplate.xml file. This file is used to enable anonymous users to make Search REST queries.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&querytemplatepropertiesurl='spfile://webroot/queryparametertemplate.xml'http:// _server/_api/search/query?querytext='sharepoint'&querytemplatepropertiesurl='spfile://webroot/queryparametertemplate.xml'

Пример запроса POSTSample POST request


{
'__metadata':{'type':'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
QueryTemplatePropertiesUrl : 'spfile://webroot/queryparametertemplate.xml'
}

HitHighlightedMultivaluePropertyLimitHitHighlightedMultivaluePropertyLimit

Количество свойств, которые отображаются как подсвеченные совпадения в результатах поиска.The number of properties to show hit highlighting for in the search results.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&hithighlightedmultivaluepropertylimit=2http:// _server/_api/search/query?querytext='sharepoint'&hithighlightedmultivaluepropertylimit=2

Пример запроса POSTSample POST request


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

EnableOrderingHitHighlightedPropertyEnableOrderingHitHighlightedProperty

Логическое значение, указывающее, упорядочивать ли свойства подсвеченных совпадений.A Boolean value that specifies whether the hit highlighted properties can be ordered.

Значение true, чтобы включить правила упорядочивания, иначе false.true to enable ordering rules; otherwise false.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&enableorderinghithighlightedproperty=falsehttp:// _server/_api/search/query?querytext='sharepoint'&enableorderinghithighlightedproperty=false

Пример запроса POSTSample POST request


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

CollapseSpecificationCollapseSpecification

Управляемые свойства, которые используются для определения способа свертывания отдельных результатов поиска. Результаты сворачиваются в один результат или указанное число результатов, если они соответствуют любым отдельным спецификациям свертывания. В рамках одной спецификации результаты сворачиваются, если их свойства соответствуют всем отдельным свойствам в спецификации.The managed properties that are used to determine how to collapse individual search results. Results are collapsed into one or a specified number of results if they match any of the individual collapse specifications. Within a single collapse specification, results are collapsed if their properties match all individual properties in the collapse specification.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&collapsespecification='Author:1 ContentType:2'http:// _server/_api/search/query?querytext='sharepoint'&collapsespecification='Author:1 ContentType:2'

Пример запроса POSTSample POST request


{
'__metadata':{'type':'Microsoft.Office.Server.Search.REST.SearchRequest'},
'Querytext' : 'sharepoint',
'CollapseSpecification' : 'Author:1 ContentType:2'
}

EnableSortingEnableSorting

Логическое значение, указывающее, требуется ли сортировка результатов поиска.A Boolean value that specifies whether to sort search results.

Значение true, чтобы отсортировать результаты поиска с использованием параметра SortList, или по рейтингу, если SortList пустое. Значение false, чтобы оставить результаты неотсортированными.I true to sort search results using SortList, or by rank if SortList is empty. false to leave results unsorted.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&enablesorting=falsehttp:// _server/_api/search/query?querytext='sharepoint'&enablesorting=false

Пример запроса POSTSample POST request


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

GenerateBlockRankLogGenerateBlockRankLog

Логическое значение, указывающее, следует ли возвращать сведения о журнале для рейтинга блоков в свойстве BlockRankLog таблицы чередующихся результатов. Журнал рейтинга блоков содержит текстовые сведения по рейтингу блоков и удаленным повторяющимся документам.A Boolean value that specifies whether to return block rank log information in the BlockRankLog property of the interleaved result table. A block rank log contains the textual information on the block score and the documents that were de-duplicated.

Значение true, чтобы вернуть сведения о журнале рейтинга блоков, иначе false.true to return block rank log information; otherwise, false.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&generateblockranklog=truehttp:// _server/_api/search/query?querytext='sharepoint'&generateblockranklog=true

Пример запроса POSTSample POST request


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

UIlanguageUIlanguage

Код языка (LCID) интерфейса пользователя (см. статью Коды языков, присвоенные Майкрософт).The locale identifier (LCID) of the user interface (see Locale IDs Assigned by Microsoft).

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&uilanguage=1044http:// _server/_api/search/query?querytext='sharepoint'&uilanguage=1044

Пример запроса POSTSample POST request


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

DesiredSnippetLengthDesiredSnippetLength

Предпочтительное количество символов для отображения в сводке подсвеченных совпадений, которая создана для результатов поиска.The preferred number of characters to display in the hit-highlighted summary generated for a search result.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&desiredsnippetlength=80http:// _server/_api/search/query?querytext='sharepoint'&desiredsnippetlength=80

Пример запроса POSTSample POST request


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

MaxSnippetLengthMaxSnippetLength

Максимальное количество символов, которые отображаются в сводке подсвеченных совпадений, созданной для результатов поиска.The maximum number of characters to display in the hit-highlighted summary generated for a search result.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&maxsnippetlength=100http:// _server/_api/search/query?querytext='sharepoint'&maxsnippetlength=100

Пример запроса POSTSample POST request


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

SummaryLengthSummaryLength

Количество символов, которые отображаются в сводке результатов для результатов поиска.The number of characters to display in the result summary for a search result.

Пример запроса GETSample GET request

http:// server/api/search/query?querytext='sharepoint'&summarylength=150http:// _server/_api/search/query?querytext='sharepoint'&summarylength=150

Пример запроса POSTSample POST request


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

ContentSettingContentSetting

Значение строки, указывающее дополнительное содержимое для запроса. A string value that specifies an alternative scope of content for the query. Параметр приводится в формате строки, но представляет числовое значение.The parameter is formatted as a string, but represents a numeric value. Значение по умолчанию равно 0.The default value is 0 (not blocked). Это свойство применяется с помощью контейнера свойств запроса (Свойства).You apply this property via the query property bag (Properties).

0: область для запроса соответствует всему общему содержимому, которое индексируется в SharePoint Online.0 : The scope for the query is all shared content that's been indexed in SharePoint Online. С этим значением параметра частные результаты не возвращаются.With this value of the parameter, private results aren't returned. В этом контексте частные результаты означают содержимое OneDrive для бизнеса, доступные только владельцу OneDrive для бизнеса.In this context private means OneDrive for Business content that only the owner of the OneDrive for Business has access to.

3: область для запроса соответствует всему общему содержимому, которое индексируется в SharePoint Online, а также частному содержимому OneDrive для бизнеса пользователя.3 : The scope for the query is all shared content that's been indexed in SharePoint Online plus the user's private OneDrive for Business content. Возвращаются два блока результатов.Two result blocks are returned. Основной блок содержит результаты из общего содержимого, кроме результатов из собственного OneDrive для бизнеса пользователя.The main result block contains results from shared content, excluding any results from the user’s own OneDrive for Business. Второй блок содержит результаты из собственного OneDrive для бизнеса пользователя (частные и общие).The second result block contains results from the user’s own OneDrive for Business (private and shared). Это значение параметра позволяет интерфейсу поиска представлять результаты из собственного OneDrive пользователя отдельно от основных общих результатов.This value of the parameter enables the search experience to present results from the user’s own OneDrive separate from the main shared results.

Значения 1 и 2 зарезервированы для последующего использования.The values 1 and 2 are reserved for future use.

Пример запроса GETSample GET request

http://server/_api/search/query?querytext='sharepoint'&properties='ContentSetting:3'http://server/_api/search/query?querytext='sharepoint'&properties='ContentSetting:3'

Пример запроса POSTSample POST request


{ 
'__metadata':{'type':'Microsoft.Office.Server.Search.REST.SearchRequest'}, 
'Querytext':'sharepoint', 
'Properties' : { 
     'results' : [ 
          { 
               'Name' : 'ContentSetting', 
               'Value' : 
               { 
                    'IntVal' : '3', 
                    'QueryPropertyValueTypeIndex' : 2 
               } 
          }, 
     ] 
} 
} 

Включение анонимных запросов поиска RESTEnabling anonymous Search REST queries

Вы можете настроить поиск, который поддерживает запросы поиска REST от анонимных пользователей. Администраторы сайта могут определить с помощью файла queryparametertemplate.xml, какие параметры запросов предоставить анонимным пользователям. В этом разделе описано, как настроить свой сайт, чтобы включить анонимный доступ, и создать файл queryparametertemplate.xml.You can configure search to support Search REST queries from anonymous users. Site administrators can decide what query parameters to expose to anonymous users by using the queryparametertemplate.xml file. This section describes how to configure your site to enable anonymous access, and create the queryparametertemplate.xml file.

Чтобы включить анонимные запросы поиска REST:To enable anonymous Search REST queries

  1. Включите анонимный доступ в веб-приложении и на сайте публикации. Более подробную информацию о том, как это сделать, можно узнать в статьях Управление политиками разрешений для веб-приложения в SharePoint и Планирование методов проверки подлинности пользователя в SharePoint на сайте TechNet.Enable anonymous access on the web application and publishing site. For more information about how to do this, see Manage permission policies for a web application in SharePoint and Plan for user authentication methods in SharePoint on TechNet.

  2. Добавьте на сайт публикации новую библиотеку документов с именем QueryPropertiesTemplate.Add a new document library named QueryPropertiesTemplate to the publishing site.

  3. Создайте XML-файл с именем queryparametertemplate.xml и скопируйте в него следующий XML-код:Create an XML file named queryparametertemplate.xml, and copy the following XML to the file.


<QueryPropertiesTemplate xmlns="http://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>
  1. Обновите элементы SiteId, FarmId и WebId со значениями для вашей фермы, веб-сайта и семейства сайтов публикации.Update the SiteId, FarmId, and WebId elements with the values for your farm, website and publishing site collection.

  2. Сохраните queryparametertemplate.xml в библиотеку документов QueryPropertiesTemplate.Save queryparametertemplate.xml to the QueryPropertiesTemplate document library.

  3. Добавьте параметр QueryTemplatePropertiesUrl в свой вызов поиска REST, указав в качестве значенияspfile://webroot/queryparametertemplate.xml.Add the QueryTemplatePropertiesUrl parameter to your Search REST call, specifyingspfile://webroot/queryparametertemplate.xml as the value.

queryparametertemplate.xml filequeryparametertemplate.xml file

Основными элементами в файле queryparametertemplate.xml являются:The primary elements in the queryparametertemplate.xml file are:

  • Элемент QueryPropertiesQueryProperties element

Содержит сериализованный объект QueryProperties .Contains a serialized QueryProperties object.

  • Элемент WhiteListWhiteList element

Содержит список свойств запроса, которые разрешено устанавливать анонимным пользователям.Contains the list of query properties that the anonymous user is allowed to set.

При отправке анонимного запроса поиска REST создается объект запроса с использованием значения, указанного в элементе QueryProperties. Затем все свойства, перечисленные в whitelist, копируются из входящего запроса в только что созданный объект запроса.When an anonymous Search REST query is submitted, the query object is constructed using what's specified in the QueryProperties element. Then, all the properties that are listed in the whitelist are copied from the incoming query to the newly constructed query object.

В этом разделе:In this section

См. такжеSee also