Como instalar e configurar a replicação do índice RavenDb

Eu olhei para as perguntas e, de fato, para os documentos do RavenDb. Há um pouco emocumentos da Replicação de Índice @RavenDb, mas não parece haver nenhuma orientação sobre como / quando / onde criar o IndexReplicationDestination

Nosso caso de uso é muito simples (é um pico). Atualmente, criamos novos objetos (vacas) e os armazenamos no Raven. Temos algumas consultas criadas dinamicamente usando LINQ (por exemplo,from c in session.Query<Cows> select c).

Agora não consigo ver onde devo definir o índice para replicar. Alguma ideia? Eu peguei o pacote e o adicionei ao diretório do servidor (suponho que ele deva estar emRavenDB.1.0.499\server\Plugins OndeRavenDB.1.0.499\server contém Raven.Server.exe)

Edita: Obrigado Ayende ... a resposta abaixo e nos grupos ravendb ajudaram. Havia um facepalm momento. Independentemente, aqui estão alguns detalhes que podem ajudar alguém. É realmente muito fácil e, de fato, 'simplesmente funciona':

a) Verifique se os plugins estão sendo retirados. Você pode visualizá-las nas estatísticas - disponíveis no URL / localhost: 8080 / stats (assumindo as configurações padrão). Você deverá ver entradas em 'Extensões' relacionadas ao pacote IndexReplicatio

Se não estiver presente, verifique se as versões das DLLs (pacote e servidor) são as mesmas

b) Verifique se o índice que você deseja replicar foi criado. Eles podem ser criados via API do cliente ou API HTTP.

API do cliente:

public class Cows_List : AbstractIndexCreationTask<Cow>
{
    public Cows_List()
    {
        Map = cows => from c in cows select new { c.Status };
        Index( x => x.Status, FieldIndexing.Analyzed);
    }
}

PI @HTTP (em estúdio): // Vacas / List docs.Cows .Select (q => new {Status = q.Status})

c) crie o documento de replicação. A pista aqui é DOCUMENT. Como tudo armazenado, também é um documento. Portanto, após a criação, ele deve ser armazenado no Db:

var replicationDocument = new Raven.Bundles.IndexReplication.Data.IndexReplicationDestination {Id = "Raven / IndexReplication / Cows_List", ColumnsMapping = {{"Status", "Status"}}, ConnectionStringName = "Relatórios", PrimaryKeyColumnName = "Id" , TableName = "cowSummaries"}; session.Store (replicationDocument); sesson.SaveChanges ();

d) Verifique se você possui o seguinte no CLIENT (por exemplo, aplicativo MVC ou console)

e) Crie o esquema RDBMS. Eu tenho uma tabela em 'cowReports':

CREATE TABLE [dbo]. [CowSummaries] ([Id] nvarchar NULL, [Status] nchar NULL)

Meu problema específico não foi adicionar o documento de índice à loja. Eu sei. facepalm. Clarotud é um documento. Funciona como um encanto

questionAnswers(1)

yourAnswerToTheQuestion