Sitecore com multi-site e Coveo – Como limitar a busca para cada site

Utilizando Coveo em uma implementação de multi-site: 8 passos para limitar os resultados da busca por site

Ao longo destes últimos anos trabalhando com Sitecore me deparei várias vezes com o seguinte requisito e decidi escrever um post a respeito:

Tenho uma implementação Sitecore multi-site que utiliza Coveo como ferramenta de busca e gostaria de limitar os resultados da pesquisa para cada site. Como posso fazer isso?

Felizmente isso é bem tranquilo de fazer. Abaixo descrevo 8 passos de como realizar isso:

1 – Você precisa de uma estrutura de conteúdo no Sitecore consistente. Eis um exemplo que pode ser seguido:

 

Site A
             Home
                        Search-Results
                        SiteA-PageA
                        SiteA-PageB
Site B
           Home
                       Search-Results
                       SiteB-PageA
                       SiteB-PageB

Perceba que nesta estrutura, cada site tem um item Home e cada item Home tem um item filho Search-Results. Os outros items, tipo SitaA-PageA são apenas exemplos de conteúdo para teste.

Outro ponto importante é que os itens Search-Results tenham o mesmo template.

2. Atualize o presentation details do template Search-Results adicionando o sublayout CoveoSearchResults bem como o Coveo Search Resources. Se você criou uma réplica do sublayout CoveoSearchResults utilize essa réplica. Essa prática é a mais recomendada pela própria Coveo e garante que na hora de fazer o upgrade do Coveo que perca a compatibilidade nativa do upgrade.
3. Crie uma regra no Sitecore que aponte para um tipo específico, como mostra o exemplo abaixo:

3

4. Utilize o código abaixo para a definição da regra. Note que na execução deste codigo utiliza-se o item de contexto(neste caso o item Search-Results) e define-se qual é o ID do item pai. Isto é o que define o contexto da busca. Voce pode pensar neste código mais ou menos assim: “Estou no site A e estou definindo o item raiz como sendo o item Home deste site. Limite a busca para este item e a árvore de itens filhos”

4

5. Navegue até o template do Search-Results e nos standard values dele abra o presentation details e edite o sublayout CoveoSearchResults.
6. No campo “Filter expression rules” clique em Edit Rule, e adicione a regra que voce acabou de criar. Ao fazer isso você vai ver algo como:

6

7. No painel de controle do Sitecore procure por index manager e Rebuild Index. Faça isso para os índices do Coveo
8. Pronto! Ao abrir as páginas de search-results os conteúdos de cada site deverão estar limitados pela regra.

 

Clique aqui para ver o post em ingles

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s