public async void ReIndex_MultiBatchOfDocsInSource_ReIndexesCorrectly(
            IFixture fixture,
            DbDataFlow <EsDocument, List <EsDocument> > reindexer,
            ISourceScrollConfig sourceConfig,
            ITargetIndexingConfig targetConfig)
        {
            // arange
            var testSourceClient =
                new EsTestIndexClient(
                    GlobalTestSettings.TestSourceServerConnectionString, sourceConfig.IndexIdentifier);

            var testTargetClient =
                new EsTestIndexClient(
                    GlobalTestSettings.TestTargetServerConnectionString, targetConfig.Index);

            testSourceClient.Index(
                fixture.CreateMany <EsDocument>(TEST_BATCH_SIZE * 3).ToArray());

            // act
            using (testSourceClient.ForTestAssertions())
            {
                await reindexer.StartFlowAsync();
            }

            // assert
            using (testTargetClient.ForTestAssertions())
            {
                testTargetClient.GetAllDocs().Should().HaveCount(6);
            }
        }
        public IndexWorker(ITargetIndexingConfig config, IEsIndexClient client)
        {
            Contract.Requires(config != null);
            Contract.Requires(client != null);

            _config = config;
            _client = client;
        }
 public EsIndexerStep(
     ITargetIndexingConfig config,
     IIndexWorkerFactory workerFactory,
     IEsIndexClient flushingClient)
 {
     _config         = config;
     _workerFactory  = workerFactory;
     _flushingClient = flushingClient;
 }
示例#4
0
        public EsIndexClient(ITargetIndexingConfig config)
        {
            Contract.Requires(config != null);

            var setting = new ConnectionSettings(new Uri(config.ServerConnectionString));

            _client = new ElasticClient(setting);
            _config = config;
        }