У меня есть следующая карта:
from doc in docs
select new {Name = doc.Name, Count = 1}
уменьшить
from result in results
group result by new {result.Name}
into g
select new {
Name = g.Key.Name,
Count = Enumerable.Sum(g, x => ((int) x.Count))
}
Если я установлю блокировку на папку индекса, а затем сохраню документ, а затем удаляю документ и сохраняю документ для повторной индексации, старый документ по-прежнему отображается в результатах запроса индекса, несмотря на то, что индекс отображается как актуальный. Последняя проиндексированная дата также старше даты обновления документа, поэтому в индексе не должно быть старых результатов.
Есть идеи, что происходит? На самом деле это часть большой проблемы, которую я обнаружил в производственной системе. Я не понимаю, почему это происходит, но я смог воспроизвести подобную ситуацию, заблокировав индекс, поэтому я подозреваю, что есть какой-то процесс, вызывающий блокировку. Это означает, что результаты индекса возвращают старые прогнозы.
Как получить редуктор, чтобы отфильтровать старые результаты?