Общие сведения об API службы поиска REST для SharePoint
Добавление функций поиска в клиентские и мобильные приложения с помощью службы поиска REST в SharePoint и любой технологии, поддерживающей веб-запросы REST.
Когда вы выполняете запросы в контексте пользователя SharePoint Online, вы получаете результаты из указанных ниже источников.
- Содержимое веб-сайтов SharePoint Online
- Содержимое в группах Microsoft 365
- Общее содержимое OneDrive для бизнеса (содержимое, доступное для пользователей помимо владельца OneDrive для бизнеса)
- Содержимое из SharePoint Server, которое индексируется с помощью приложения облачной службы поиска. Сведения об облачном гибридном поиске.
Поддержка сети доставки контента (CDN)
Если Office 365 Private или Public CDN включен для оптимизации производительности для активов, этот раздел относится к вам. Если ваши результаты поиска содержат изображения, которые подаются из CDN, то URL-адрес изображения будет URL-адресом CDN, который возвращается в результатах, а не местоположением библиотеки ресурсов. Дополнительные сведения о CDN см. в разделе Использование сети доставки контента Office 365 (CDN) с SharePoint Online.
Отправка запросов с помощью службы поиска REST
Поиск в SharePoint включает службу поиска REST, которую вы можете использовать для добавления функции поиска в свои клиентские или мобильные приложения с помощью любой технологии, поддерживающей веб-запросы REST. Вы можете использовать службу поиска REST для отправки запросов на языке запросов по ключевым словам (KQL) или на языке FAST-запросов (FQL) в своих Надстройки SharePoint, удаленных клиентских приложениях, мобильных и других приложениях. Служба поиска REST поддерживает HTTP-запросы POST и GET.
Запросы GET
Создайте URI, чтобы отправлять службе поиска REST запросы GET:
GET /_api/search/query
Укажите параметры запроса для запросов GET в URL-адресе. Вы можете создать URL-адрес запроса GET двумя способами:
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
Создайте URI, чтобы отправлять службе поиска REST запросы POST:
POST /_api/search/postquery
Для запросов POST передайте параметры запроса в запросе в формате Нотация объектов JavaScript (JSON). HTTP-версия POST службы поиска REST поддерживает все параметры, поддерживаемые версией GET. Однако некоторые параметры имеют различные типы данных, как это описано в таблице 1.
Таблица 1. Параметры запроса с различными типами данных для запросов POST
Параметр | Тип данных |
---|---|
SelectProperties | строка[] |
RefinementFilters | строка[] |
SortList | Sort |
HitHighlightedProperties | string[] |
Properties | Microsoft.SharePoint.Client.Search.Query.KeywordQueryProperties |
Используйте запросы POST в следующих случаях:
- Если вы превысите ограничение длины URL-адреса с помощью запроса GET.
- Если вы не можете указать параметры запроса в простом URL-адресе. Например, если вам нужно передать значения параметров, которые содержат массив сложных типов или строки с разделителем-запятой, запрос POST предоставит вам более широкие возможности.
- При использовании параметра ReorderingRules , так как он поддерживается только с запросами POST .
Формат результатов поиска REST
По умолчанию результаты возвращаются в формате XML. Чтобы получать результаты в формате JSON, добавьте следующий заголовок в запрос:
accept: application/json;odata=verbose
Если метаданные не требуются, можно использовать следующий параметр:
accept: application/json;odata=nometadata
Использование параметров запроса с помощью службы поиска REST
При вызове службы поиска REST вы указываете параметры запроса вместе с самим запросом. Поиск в SharePoint использует эти параметры для создания запроса поиска. Для запроса GET укажите параметры запроса в URL-адресе, для запросов POST передайте параметры запроса в тексте в формате нотации объектов JavaScript (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
Логическое значение, которое указывает смешаны ли таблицы результатов, возвращенных для блока результатов, с таблицами результатов, возвращенных для исходного запроса.
Значение true, чтобы связать ResultTables; иначе 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
Идентификатор источника результатов, использующийся для выполнения запроса поиска.
Пример запроса 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
Идентификатор модели ранжирования для запроса.
Пример запроса 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
Максимальное количество строк, возвращаемых на каждую страницу. По сравнению с 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
Управляемые свойства, возвращаемые в результатах поиска. Чтобы вернуть управляемое свойство, установите флаг извлечения свойства в схеме поиска в значение 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
Идентификатор языкового стандарта (LCID) для запроса (см. раздел Идентификаторы языковых стандартов, назначенные корпорацией Майкрософт).
Пример запроса 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 параметр RefinementFilters указывается в виде FQL-фильтра. Для запросов POST параметр RefinementFilters указывается в виде массива FQL-фильтров.
Пример запроса 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
Время до истечения времени запроса в миллисекундах. Значение по умолчанию: 30 000.
Пример запроса 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).
Значение true, если запрос является FQL-запросом, иначе 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'
}
Properties
Дополнительные свойства для запроса. Запросы 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
Управляемые свойства, которые используются для определения способа свертывания отдельных результатов поиска. Результаты сворачиваются в один результат или указанное число результатов, если они соответствуют любым отдельным спецификациям свертывания. В рамках одной спецификации результаты сворачиваются, если их свойства соответствуют всем отдельным свойствам в спецификации.
Пример запроса 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
Логическое значение, указывающее, требуется ли сортировка результатов поиска.
Значение true для сортировки результатов поиска с помощью SortList или по рангу, если 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) пользовательского интерфейса (см. раздел Идентификаторы языковых стандартов, назначенные корпорацией Майкрософт).
Пример запроса 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:
Включите анонимный доступ в веб-приложении и на сайте публикации. Дополнительные сведения о том, как это сделать, см. в разделах Управление политиками разрешений для веб-приложения в SharePoint и Планирование методов проверки подлинности пользователей в SharePoint в TechNet.
Добавьте на сайт публикации новую библиотеку документов с именем QueryPropertiesTemplate.
Создайте XML-файл с именем queryparametertemplate.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
значениями для фермы, веб-сайта и семейства веб-сайтов публикации.Сохраните queryparametertemplate.xml в библиотеке документов QueryPropertiesTemplate.
Добавьте параметр
QueryTemplatePropertiesUrl
в свой вызов поиска REST, указав в качестве значенияspfile://webroot/queryparametertemplate.xml
.
Файл queryparametertemplate.xml
Основными элементами в файле queryparametertemplate.xml являются:
Элемент QueryProperties
Содержит сериализованный объект QueryProperties .
Элемент WhiteList
Содержит список свойств запроса, которые разрешено устанавливать анонимным пользователям.
При отправке анонимного запроса поиска REST создается объект запроса с использованием значения, указанного в элементе QueryProperties. Затем все свойства, перечисленные в whitelist, копируются из входящего запроса в только что созданный объект запроса.