Compartilhar via


Visão geral da empresa de pesquisa da consulta de objetos do modelo

Pesquisa da empresa no Microsoft Office do SharePoint Server 2007 fornece um novo modelo objeto de consulta que você pode usar em personalizado pesquisa aplicativos Web Parts e pesquisa para executar consultas contra o serviço Pesquisar da empresa osssearchshort.

Modelo de objeto de consulta é implementado no namespace Microsoft.Office.Server.Search.Query N:Microsoft.Office.Server.Search.Query, encontrado na Microsoft.Office.Server.Search.dll.

Usando o modelo de objeto de consulta em aplicativos de pesquisa personalizada

Você pode escrever codificar que usa a modelo de objeto de consulta de diferentes tipos de aplicativos, incluindo de:

  • Um personalizado pesquisa Web Part hospedado em um site do SharePoint.

  • Um aplicativo da Web ASPX.

Modelo de objeto de consulta oferece suporte tanto Referência de sintaxe SQL de pesquisa da empresaEmpresa de pesquisa de palavras-chave sintaxe referência sintaxe de palavra-chave pesquisa consultas.

Escolhendo entre o modelo de objeto de consulta e o serviço da Web de consulta

Pesquisar da empresa também expõe funcionalidades suas pesquisa por meio de serviço da Web de consulta. Como o modelo objeto de consulta, o serviço da Web de consulta também suporte SQL e palavra-chave sintaxe consultas e ambos os suporte retornando múltiplo resultam tipos. O primário Considerações quando escolher entre os dois para personalizado aplicativos é a localidade do aplicativo. Se o aplicativo é local para o servidor execução O Office SharePoint Server 2007, você pode usar o modelo objeto de consulta. Para remoto aplicativos, você deve usar o serviço da Web de consulta. Para obter mais informações sobre o serviço da Web de consulta, consulte Visão geral da empresa de pesquisa de consulta da Web do Serviço.

Acessando o modelo de objeto de consulta

Para usar modelo de objeto de consulta, você deve definir referências para o seguinte DLLs:

  • Microsoft.Office.Server.dll

  • Microsoft.Office.Server.Search.dll

  • Microsoft.SharePoint.dll

Sobre as classes de consulta

O espaço para nome Microsoft.Office.Server.Search.Query N:Microsoft.Office.Server.Search.Query inclui três classes de consulta:

  • Query esta classe não destina-se a ser usado diretamente do seu codificar, mas é projetada para ser o implementação básica para as classes modelo de objeto Pesquisar da empresa osssearchshort de consulta. No seu codificar, use o FullTextSqlQuery e KeywordQuery KeywordQuery classes.

  • FullTextSqlQuery usar esta classe para executar consultas pesquisa sintaxe SQL.

  • KeywordQuery usar esta classe para executar consultas pesquisa sintaxe de palavra-chave.

Escolhendo uma classe de consulta para um aplicativo de pesquisa personalizada

Para determinar o apropriado classe a ser usado para sua personalizado aplicativo pesquisa ? FullTextSqlQuery ou KeywordQuery ? considere o nível de complexidade na pesquisa consultas que você desejar o código do aplicativo para suporte.

Se você pode criar as consultas que você precisa usar somente sintaxe de palavra-chave, talvez você prefira usar o KeywordQuery KeywordQuery classe. Se você usar sintaxe de palavra-chave para suas consultas pesquisa, você poderá transmitir os termos pesquisa diretamente para o componente pesquisa e não precisam analisar por termos de pesquisa para compilar a consulta. Como resultado, o processo de criar consultas usando sintaxe de palavra-chave é simples.

No entanto, se você precisar construção consultas mais complexas, sintaxe de palavra-chave não pode trabalho. Para essas consultas, você deve usar o FullTextSqlQuery FullTextSqlQuery classe. De exemplo, sintaxe de palavra-chave oferece suporte somente frase, palavra ou as correspondências exatas de prefixo. Além disso, enquanto você pode usar sintaxe de palavra-chave para especificar se para incluir ou excluir um determinado termo da pesquisa, não é possível construção agrupamentos complexos de incluídos e excluídos termos. Você pode fazer isso usando FullTextSqlQuery.

A seguinte lista identifica elementos consulta adicionais que são com suporte Somente com sintaxe pesquisa SQL usando o FullTextSqlQuery FullTextSqlQuery classe:

  • FREETEXT()

  • CONTAINS()

  • LIKE

  • ORDER BY

Executar a consulta de pesquisa

O fluxo de execução do KeywordQuery KeywordQuery classe e FullTextSqlQuery FullTextSqlQuery classe é essencialmente o mesmo. O construtor para a classe possui três sobrecargas; Ao criar uma instância de classe, você precisa especificar um do seguinte:

  • Coleção site (como uma instância do SPSite classe SPSite).

  • Contexto do compartilhado dos serviços do provedor (SSP) para o serviço pesquisa (como uma instância do ServerContext ServerContext classe).

  • Nome do aplicativo de provedor a serviços compartilhados (SSP) para o serviço pesquisa (um seqüência de caracteres com do o SSP GUID)

O seguinte exemplo de código mostra como usar o KeywordQuery KeywordQuery classe.

using Microsoft.SharePoint;
...
KeywordQuery qRequest = new KeywordQuery(new SPSite("http://*****");

O seguinte exemplo de código mostra como usar o FullTextSqlQuery FullTextSqlQuery classe.

using Microsoft.Office.Server;
...
FullTextSqlQuery qRequest = new FullTextSqlQuery(ServerContext.Current);

Lendo os resultados da pesquisa

IDataReader interfaceO ResultTable T:Microsoft.Office.Server.Search.Query.ResultTable classe implementa o Para que você possa facilmente acessar o resultado linhas de seu codificar.

A seguir é um exemplo.

ResultTableCollection resultTables = queryRequest.Execute();
ResultTable relevantResults = resultTables[ResultType.RelevantResults];
DataTable resultsDataTable = new DataTable();
resultsDataTable.Load(relevantResults,LoadOption.OverwriteChanges);

Tipos de resultados

Resultados de pesquisa retornados por Pesquisar da empresa são agrupados em quatro tipos de resultados diferentes, conforme descrito no seguinte tabela.

Nome Descrição

RelevantResults

O conjunto de resultados principal, contendo resultados pesquisa a partir de de conteúdo índice que correspondem a consulta.

HighConfidenceResults

O conjunto de resultados contendo resultados High-confidence.

SpecialTermResults

O conjunto de resultados contendo melhor opções compatível a consulta.

DefinitionResults

O conjunto de resultados que contém definições para palavras-chave compatível a consulta.

Esses tipos de resultados são definidos no ResultType T:Microsoft.Office.Server.Search.Query.ResultType enumeração do espaço para nome Microsoft.Office.Server.Search.Query.

Consulte também

Outros recursos

Referência de sintaxe SQL de pesquisa da empresa
Empresa de pesquisa de palavras-chave sintaxe referência
Criando Web Parts de Pesquisa da empresa personalizado
Visão geral da empresa de pesquisa de consulta da Web do Serviço