Пример #1
0
        public Task HandlePostInfo(InfoEntryRequest request)
        {
            var translatedRequest = new SearchInsertRequest
            {
                Kind = "entry",
                Id   = request.Id,

                Fields = new Dictionary <string, string>
                {
                    { "User", request.User },
                    { "Text", request.Text },
                }
            };

            return(_sender.SendAsync(translatedRequest));
        }
        public Task HandleInsert(SearchInsertRequest message)
        {
            var document = new Lucene.Net.Documents.Document
            {
                new StringField("kind", message.Kind, Field.Store.YES),
                new StringField("id", message.Id, Field.Store.YES)
            };

            foreach (var field in message.Fields)
            {
                document.Add(new TextField($"f_{field.Key.ToLower()}", field.Value, Field.Store.YES));
            }

            _writer.AddDocument(document);
            _writer.Flush(triggerMerge: false, applyAllDeletes: false);

            return(Task.CompletedTask);
        }