2014-12-14 4 views
0

Я играю с использованием источников событий с использованием RavenDB.RavenDB Index a Index

Я сохраняю все свои события как документы в RavenDB, затем имеет индекс карты/уменьшения для создания агрегатов (аналогично тому, как описано здесь http://ayende.com/blog/4530/raven-event-sourcing).

Однако теперь я хотел бы проиндексировать агрегаты, являющиеся результатом отображения/сокращения, чтобы я мог запрашивать содержательные данные в базе данных (например, находить счета с отрицательным балансом). К сожалению, я могу только создать индексы для документов, которые сделают весь этот подход непригодным.

Возможно ли создать индекс по индексу в RavenDB? Существует ли альтернативный способ достижения такого же результата? Или мне лучше не иметь свои агрегаты в качестве карты/сокращения и просто помещать их в простые документы?

ответ

0

Вы можете сделать это, используя результаты индекса скриптов. См. Документы http://ravendb.net/docs/article-page/2.5/csharp/server/extending/bundles/scripted-index-results

+0

Это позволило бы мне что-то сделать, когда агрегат создан, но все еще не уверен, что-то должно быть. Вам нужно было бы записать созданные сгенерированные сводные снимки в качестве документа для создания индексов на них? или можно каким-то образом напрямую проиндексировать индекс для обработки сгенерированного агрегата? – Alex

+0

Да, вы пишете результат назад, чтобы сделать хранилище документов. –

+0

Кажется, что это круто об образовании индексов по агрегатам; создание документа для обновления индекса для создания документа для получения индекса. Я принимаю как ответ, хотя, как представляется, это единственный способ индексировать сгенерированные агрегаты. – Alex