Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Saiba mais sobre as APIs de consulta disponíveis no SharePoint que permitem que você adicione a funcionalidade de pesquisa a aplicativos e soluções personalizadas.
APIs de consulta do SharePoint
A pesquisa no SharePoint fornece várias APIs de consulta, oferecendo várias maneiras de acessar os resultados de pesquisa, para que você possa retornar os resultados de pesquisa em uma variedade de tipos de soluções personalizadas.
Além do modelo de objeto de servidor que estava disponível nas versões anteriores do SharePoint, Pesquisa no SharePoint também fornece o seguinte:
- Modelo de objeto do cliente (CSOM)
- modelo de objeto do JavaScript (JSOM)
- Serviço de Representational State Transfer (REST)
A tabela 1 mostra as APIs que você pode usar para consultas de pesquisa do programa e o caminho para o arquivo de origem no servidor.
Tabela 1. APIs de pesquisa
| Nome da API | Biblioteca de classes ou o esquema e o caminho |
|---|---|
| CSOM DO .NET |
Microsoft.SharePoint.Client.Search.dll %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\ISAPI |
| Silverlight CSOM |
Microsoft.SharePoint.Client.Search.Silverlight.dll %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\LAYOUTS\ClientBin |
| JavaScript CSOM |
SP.search.js %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\LAYOUTS |
| Pontos de extremidade do serviço REST |
https://{site_url}/_api/search/query https://{site_url}/_api/search/suggest |
| Modelo de objeto do servidor |
Microsoft.Office.Server.Search.dll %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\ISAPI |
Como prática recomendada no desenvolvimento do SharePoint, use APIs do cliente, quando possível. As APIs de cliente incluem os modelos de objeto do cliente .NET, Silverlight, Telefone, JavaScript e o serviço REST. Para obter mais informações sobre as APIs no SharePoint e quando utilizá-las, consulte Escolher o conjunto de API correto no SharePoint.
Consulte usando o modelo de objeto do cliente .NET
Pesquisar no SharePoint inclui um modelo de objeto do cliente que permite o acesso aos resultados da pesquisa para desenvolvimento online, local e para dispositivos móveis. A pesquisa no SharePoint CSOM foi criada no SharePoint CSOM. Portanto, seu código de cliente precisa primeiro acessar o SharePoint CSOM e, em seguida, acessar a pesquisa no SharePoint CSOM. Para obter mais informações sobre o SharePoint CSOM e a classe ClientContext, que é o ponto de entrada do CSOM, consulte Operações básicas completas do SharePoint usando o código de biblioteca do cliente do SharePoint.
Para o .CSOM gerenciado .NET, obtenha uma instância de ClientContext (localizada no namespace Microsoft.SharePoint.Client no Microsoft.SharePoint.Client. dll). Em seguida, use o modelo de objeto no namespace do Microsoft.SharePoint.Client.Search.Query no Microsoft.SharePoint.Client.Search.dll.
Veja um exemplo básico.
using (ClientContext clientContext = new ClientContext("http://<serverName>/sites/<siteCollectionPath>"))
{
KeywordQuery keywordQuery = new KeywordQuery(clientContext);
keywordQuery.QueryText = "SharePoint";
SearchExecutor searchExecutor = new SearchExecutor(clientContext);
ClientResult<ResultTableCollection> results = searchExecutor.ExecuteQuery(keywordQuery);
clientContext.ExecuteQuery();
}
Para baixar um exemplo, consulte o seguinte código de exemplo publicado pelo MVP do SharePoint Corey Roth: SharePoint: consulta de pesquisa com o modelo de objeto do cliente gerenciado.
Consulta usando o modelo de objeto do cliente JavaScript
Para o CSOM de JavaScript, obtenha uma instância ClientContext e, em seguida, utilize o modelo de objeto no ficheiro SP.Search.js.
Aqui está um exemplo básico.
var clientContext = new SP.ClientContext("<serverRelativeUrl>");
var contextSite = clientContext.get_site();
var keywordQuery = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(clientContext);
keywordQuery.set_queryText("SharePoint");
var searchExecutor = new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(clientContext);
var results = searchExecutor.executeQuery(keywordQuery);
context.executeQueryAsync(onQuerySuccess, onQueryError);
Para baixar um exemplo, consulte o seguinte código de exemplo publicado pelo MVP do SharePoint Corey Roth: SharePoint: consulta de pesquisa com o modelo de objeto do cliente gerenciado.
Consulta usando o serviço REST
O SharePoint inclui um serviço REST que permite que você execute remotamente consultas no serviço de pesquisa do SharePoint a partir de aplicativos do cliente usando qualquer tecnologia compatível com as solicitações REST da Web. O serviço pesquisa REST expõe dois pontos de extremidade, query e suggeste dará suporte a operações GET e o POST. Os resultados são retornados em formato XML ou JavaScript Object Notation (JSON).
Segue-se o ponto de acesso do serviço: https://{site_url}/_api/search/ utilizar o site raiz como ponto de entrada de consulta. Também pode especificar outro site no URL, da seguinte forma: https://{site_url}/site/_api/search/. O prefixo de URL anterior /_api/search/ utilizará a origem de resultados predefinida definida nesse site/âmbito e as regras de consulta também serão contextuais para o URL utilizado, a menos que sejam utilizados parâmetros para substituir este comportamento. A menos que seja efetuada qualquer configuração de pesquisa específica num site, os resultados são os mesmos para ambas as formas de aceder ao serviço.
Consulte Visão geral da API REST de Pesquisa do SharePoint e Recuperar as sugestões de consulta usando o serviço de Pesquisa REST para obter mais informações.
Consulta usando o modelo de objeto do cliente .NET
Aplicativos que usam o modelo de objeto do servidor devem ser executados diretamente em um servidor que esteja executando o SharePoint. O modelo de objeto do servidor de consulta de pesquisa reside no espaço de nomes Microsoft.Office.Server.Search.Query , que está localizado no Microsoft.Office.Server.Search.dll.
Tal como no Servidor do SharePoint 2010, utiliza a classe KeywordQuery para definir a consulta e, em seguida, chama-se o método Execute() para submeter a consulta. No SharePoint, o método Executar é obsoleto e, mesmo que ainda funcione, você deve usar a classe SearchExecutor. Para enviar a consulta, chame o método ExecuteQuery() , passando a instância da classe KeywordQuery na chamada.
Aqui está um exemplo básico.
using (SPSite siteCollection = new SPSite("<serverRelativeUrl>"))
{
KeywordQuery keywordQuery = new KeywordQuery(siteCollection);
keywordQuery.QueryText = "SharePoint";
SearchExecutor searchExecutor = new SearchExecutor();
ResultTableCollection resultTableCollection = searchExecutor.ExecuteQuery(keywordQuery);
resultTableCollection = resultTableCollection.Filter("TableType", KnownTableTypes.RelevantResults);
ResultTable resultTable = resultTableCollection.FirstOrDefault();
DataTable dataTable = resultTable.Table;
}
Para baixar um exemplo, consulte o seguinte código de exemplo publicado pelo MVP do SharePoint Corey Roth: SharePoint: consulta de pesquisa com o modelo de objeto do cliente gerenciado.