Как установить и настроить репликацию индекса RavenDb

Я посмотрел на вопросы и действительно документы RavenDb. Там немногоДокументация по репликации индексов RavenDb но нет никаких указаний на то, как / когда / где создать IndexReplicationDestination

Наш вариант использования очень прост (это шип). В настоящее время мы создаем новые объекты (Коровы) и храним их в Вороне. У нас есть пара запросов, создаваемых динамически с использованием LINQ (например,from c in session.Query<Cows> select c).

Теперь я не вижу, где я должен определить индекс для репликации. Есть идеи? Я взял пакет и добавил его в каталог сервера (я предполагаю, что он должен быть вRavenDB.1.0.499\server\Plugins гдеRavenDB.1.0.499\server содержит Raven.Server.exe)

редактироватьСпасибо, Айенде ... Ответ ниже и в группах ravendb помог. БылFacepalm момент. Независимо от того, вот некоторые детали, которые могут помочь кому-то еще. Это действительно очень просто и действительно «просто работает»:

а) Убедитесь, что плагины подобраны. Вы можете просмотреть их в статистике - доступно через / localhost: 8080 / stats url (при условии настроек по умолчанию). Вы должны увидеть записи в «Расширениях», относящиеся к комплекту IndexReplication.

Если нет, убедитесь, что версии DLL (комплект и сервер) совпадают

б) Убедитесь, что индекс, который вы хотите скопировать, был создан. Они могут быть созданы через клиентский API или HTTP API.

Клиентский API:

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);
    }
}

HTTP API (в студии): // Cows / List docs.Cows .Select (q => new {Status = q.Status})

в) создать документ тиражирования. Ключ здесь - ДОКУМЕНТ. Как и все, что хранится, это тоже документ. Поэтому после создания его необходимо сохранить в БД:

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

г) Убедитесь, что у вас есть следующее в клиенте (например, приложение MVC или консоль)

e) Создайте схему RDBMS. У меня есть таблица в «cowReports»:

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

Моей конкретной проблемой было не добавление индексного документа в магазин. Я знаю.Facepalm, Конечновсе это документ. Работает как шарм!

Ответы на вопрос(1)

Ваш ответ на вопрос