Como as estatísticas de pesquisa do SharePoint são geradas?

2

Temos um site de publicação do SharePoint (WCM) altamente personalizado que não usa web parts para atender às diretrizes de acessibilidade XHTML e (AA). O problema é que a funcionalidade de pesquisa não está gerando estatísticas de uso (relatórios de uso na Administração de Pesquisa do SSP). Sabemos que isso se deve às nossas personalizações porque temos alguns sites da equipe OOTB no farm que estão gerando estatísticas de pesquisa. Não temos certeza de onde / como precisamos corrigir isso. Parece que precisamos ligar uma ligação para o serviço da web search.asmx, mas não tenho certeza. Talvez precisemos chamar algo da API do SharePoint como parte de nossa chamada para o serviço de pesquisa? Não tenho certeza.

Alguém lá construiu um site do SharePoint altamente personalizado (sem web parts) e está registrando estatísticas de pesquisa, você pode comentar como você o fez? Ou alguém pode fornecer informações sobre como as estatísticas são geradas?

Se isso ajudar, estamos executando um farm de tamanho médio com 2 WFEs, 1 servidor de Índice e 1 caixa do SQL Server. Todo o Windows 2003 R2 SP2, 32 bits. MOSS 2007 SP1 (mais dezembro CU) Enterprise Edition.

Obrigado, James.

P.S. essa pergunta foi feita anteriormente no Stack Overflow ( link ), mas alguns comentadores recomendado deve ser movido aqui.

    
por j.strugnell 16.09.2009 / 14:17

2 respostas

1

Esta pode não ser a resposta que você deseja ouvir, mas nossa solução alternativa era colocar as partes da Web de controle de pesquisa (apenas searchboxex, eu acho) em um dos proprietários de espaços de conteúdo ocultos (no nosso caso ContentPlaceHolderId = PlaceHolderSearchArea)

    
por 30.09.2009 / 00:57
1

Do que eu aprendi até agora, as consultas são registradas chamando o método RecordClick do serviço da web de pesquisa. A webpart Microsoft.Office.Server.Search.WebControls.SearchResultsBaseWebPart, que é usada para renderizar resultados de pesquisa, faz a mágica acontecer.

Quando a página renderizada por SearchResultsBaseWebPart é carregada, uma função é registrada para o evento onlick de todos os elementos de link HTML, cujo ID corresponde a um filtro RegExp. O evento unload da página também é registrado para enviar uma solicitação de soap contendo um objeto Microsoft.Office.Server.Search.Query.QueryInfo serializado para o método RecordClick do serviço da Web de pesquisa. As propriedades do objeto QueryInfo são armazenadas no banco de dados do provedor de serviços Share, nas tabelas MSSQLogUnprocessed e MSSQLogNonClickedUnprocessed.

Esta é a única funcionalidade de registro de consultas que encontrei até agora. Se você conhece ou encontra outros leads, compartilhe-os.

Reuni essa informação olhando as diferentes classes no Reflector. Espero que ajude.

    
por 23.09.2009 / 14:29