コード例 #1
0
ファイル: IndexWriteOperation.cs プロジェクト: ikvm/ravendb
        public virtual void IndexDocument(LazyStringValue key, LazyStringValue sourceDocumentId, object document, IndexingStatsScope stats, JsonOperationContext indexContext)
        {
            EnsureValidStats(stats);

            bool        shouldSkip;
            IDisposable setDocument;

            using (Stats.ConvertStats.Start())
                setDocument = _converter.SetDocument(key, sourceDocumentId, document, indexContext, this, out shouldSkip);

            using (setDocument)
            {
                if (shouldSkip)
                {
                    return;
                }

                using (Stats.AddStats.Start())
                    _writer.AddDocument(_converter.Document, _analyzer, _state);

                if (_hasSuggestions)
                {
                    using (Stats.SuggestionStats.Start())
                    {
                        foreach (var item in _suggestionsWriters)
                        {
                            var writer = item.Value;
                            writer.AddDocument(_converter.Document, _analyzer, _state);
                        }
                    }
                }

                stats.RecordIndexingOutput();
            }
        }
コード例 #2
0
        public void IndexDocument(LazyStringValue key, object document, IndexingStatsScope stats, JsonOperationContext indexContext)
        {
            EnsureValidStats(stats);

            bool        shouldSkip;
            IDisposable setDocument;

            using (_stats.ConvertStats.Start())
                setDocument = _converter.SetDocument(key, document, indexContext, out shouldSkip);

            using (setDocument)
            {
                if (shouldSkip)
                {
                    return;
                }

                using (_stats.AddStats.Start())
                    _writer.AddDocument(_converter.Document, _analyzer);

                stats.RecordIndexingOutput();

                if (_logger.IsInfoEnabled)
                {
                    _logger.Info($"Indexed document for '{_indexName}'. Key: {key}. Output: {_converter.Document}.");
                }
            }
        }