У меня есть коллекция документов "Сообщения" в моей базе (RavenDB). Определение документа вроде:
class Message
{
string Content;
Tag[] Tags;
Location[] Locations;
string[] Actions;
bool IsActive;
}
Определение класса тега:
class Tag
{
string Value;
Translation[] Translations;
}
Класс местоположения:
class Location
{
string Code;
Translation[] Translations;
}
Класс перевода:
class Translation
{
string LanguageCode;
string Value;
}
Итак, я хочу создать индекс, который позволит мне выполнять запросы по нескольким полям:
- Полнотекстовый поиск по сообщению.Content
- Только сообщения с IsActive == true
- Сообщения, содержащие мое действие в Message.Actions
- Сообщения, содержащие тег с myValue и myLanguageCode
- Локации, содержащие местоположение с некоторыми myCode и myLanguageCode
Я хотел бы запросить выполнение всех условий одновременно
Итак, как мне определить индекс для RavenDB?