Поделиться через


Поиск надстроек в SharePoint

Узнайте о поиске надстроек SharePoint и о создании собственных надстроек поиска. Создаваемые надстройки можно добавить в каталог надстроек SharePoint, чтобы их можно было использовать как в локальном развертывании, так и в Office 365. Надстройки поиска работают только с данными, хранящимися в индексе поиска, но не с исходными исходными документами.

Надстройки в SharePoint — это автономные функциональные единицы, которые расширяют возможности веб-сайта SharePoint. Эти надстройки решают конкретные бизнес-потребности и потребности конечных пользователей путем интеграции лучших веб-приложений и SharePoint. Надстройка может содержать различные элементы SharePoint, такие как списки, удаленные приемники событий, типы контента, рабочие процессы, настраиваемые действия рабочего процесса, столбцы сайта, модули, настраиваемые действия элементов меню, клиентские веб-части и конфигурации поиска. Дополнительные сведения см. в статье Надстройки SharePoint.

Надстройка поиска не Надстройка SharePoint, что использование функциональной возможности поиска. В надстройке поиска можно использовать API поиска SharePoint для поиска контента. В зависимости от типа разрешения в манифесте надстройкиможно выполнить поиск внутри или за пределами содержимое надстройки. Кроме того можно также использовать надстройки поиска для распространения конфигурации поиска с одной установки SharePoint в другое. Разработка основных надстройки поиска зависит от Выбор метода развертывания. В следующем разделе приводятся доступные параметры и их преимущества. Дополнительные сведения см. в статье Выбор шаблонов для разработки и размещения надстройки SharePoint.

Развертывание надстройки поиска

Развертывание надстройки поиска двумя способами:

  1. SharePoint hosted - локальное развертывание. Надстройка поиска размещается внутри корпоративной сети на серверах компании. Компании Администраторы управляют надстройки. Этот сценарий предлагает гибкие возможности развертывания и поддержки, так как к оборудованию и программному обеспечению локально поддерживается администраторами.

  2. У поставщика - любой веб-сервере размещения. Надстройка поиска размещается с любым поставщиком, за пределами клиента SharePoint server.

Среда разработки надстройки поиска

Чтобы создать надстройку поиска, используйте следующую среду:

  • Microsoft Visual Studio 2012 или Microsoft Visual Studio 2013 или Visual Studio 2015

С помощью Visual Studio 2013 и более поздних версий можно опубликовать надстройки поиска в локальной или в Office 365. Дополнительные сведения о средах разработки и их использовании для создания надстроек поиска см. в статье Настройка общей среды разработки для SharePoint.

API-интерфейсы для поиска надстройки

Можно использовать широкий диапазон интерфейсов API, связанных с поиском, SharePoint предлагает для надстроек поиска. В следующей таблице перечислены эти интерфейсы API и место их библиотек классов.

API-интерфейсов SharePoint для надстроек поиска

Имя API Библиотека классов
Клиентская объектная модель .NET (CSOM)
Microsoft.SharePoint.Client.Search.dll
Silverlight CSOM
Microsoft.SharePoint.Client.Search.Silverlight.dll
Объектная модель ECMAScript (JavaScript, JScript) (JSOM)
SP.search.js
REST API службы поиска
http://server/_api/search/query

Примеры кода

Вот несколько примеров кода, с помощью различных интерфейсов API. Каждый пример кода отправляет запрос простой Поиск, который содержит ключевое слово "SharePoint " Приложение-служба поиска (SSA).

Client-side Object Model (CSOM)


using (ClientContext clientContext = new ClientContext("http://localhost"))
{
    KeywordQuery keywordQuery = new KeywordQuery(clientContext);
    keywordQuery.QueryText = "*";
    SearchExecutor searchExecutor = new SearchExecutor(clientContext);
    ClientResult<ResultTableCollection> results = 
        searchExecutor.ExecuteQuery(keywordQuery);
    clientContext.ExecuteQuery();
}

JavaScript Object Model (JSOM)


var keywordQuery = new
Microsoft.SharePoint.Client.Search.Query.KeywordQuery(context);
keywordQuery.set_queryText('SharePoint');
var searchExecutor = new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(context);
results = searchExecutor.executeQuery(keywordQuery);
context.executeQueryAsync(onQuerySuccess, onQueryFail);

REST

HTTP-запрос GET


http://mylocalhost/_api/search/query?querytext='SharePoint'

HTTP-запрос POST

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

Добавить разрешения поиска

Надстройки поиска отправлять запросы запроса Приложение-служба поиска (SSA) и надстроек, требуют различных типов разрешений для правильной работы. Можно настроить эти разрешения с помощью надстройки файл манифеста, который является частью надстройки каждого SharePoint. Добавить в файл манифеста можно изменять напрямую с помощью текстового редактора или изменять его с Visual Studio или Napa, как показано на следующих рисунках.

На рисунке 1: Установка разрешений для поиска надстроек в Visual Studio 2015

Настройка разрешений поискового приложения с помощью Visual Studio

На рисунке 2: Настройка разрешений для надстроек поиска в средства разработки «Napa» Office 365

Настройка разрешений поискового приложения с помощью Napa

Надстройка SharePoint имеет свой собственный идентификатор, связанный с субъекта безопасности именем субъекта надстройки. Как пользователи и группы субъект надстройки имеет определенные разрешения и права. Субъект надстройки имеет права полного доступа add в веб-приложения, его необходимо только запрашивать разрешения на SharePoint ресурсы в другие расположения за пределами web надстройки, такие как семейств веб-сайтов или веб-сайт. В отличие от других Надстройки SharePoint надстройки поиска требуются только разрешения уровня пользователя, известных как QueryAsUserIgnoreAppPrincipal. Это разрешение позволяет запросов поиска надстройки на основе разрешений пользователя. Это означает, что поиск, возвращаются результаты, основанные на списки контроля доступа пользователя.

Запрашивать разрешения в файле манифеста надстройки

Добавить в файл манифеста в формате XML и непосредственного редактирования. Для получения разрешений, создаваемом запроса, как показано в следующем примере:


<AppPermissionRequests>
  <AppPermissionRequest Scope="http://sharepoint/search" Right="QueryAsUserIgnoreAppPrincipal" />
</AppPermissionRequests>

См. также