У меня есть следующие классы:индекса Lucene многоязычного сложное образование
public class Resource
{
public Guid? Id { get; set; }
public IList<LocalizedValue> LocalizedValues { get; set; }
}
public class LocalizedValue
{
public Guid? Id { get; set; }
public Resource Resource { get; set; }
public string Locale { get; set; }
public string TextValue { get; set; }
}
Это используется для хранения многоязычных данных в других объектах, например:
public class Job
{
public Resource Description { get; set; }
// some other properties...
}
Так что я способен хранить описание на нескольких языках.
Я хотел бы проиндексировать объект Job
(включая его свойства Resource
) в Lucene.Net, чтобы иметь возможность искать что-либо на всех языках или в указанном.
Я рассмотрел другие соответствующие вопросы по SO или в других местах, но я не совсем уверен, что делать.
Я рассмотрел использование нескольких полей (по одному для каждого TextValue каждого ресурса в классе Job), но как я могу определить, на каком языке находится текст, не попадая в довольно сложные запросы?
Я полагаю, что смогу управлять так или иначе, но я все еще спрашиваю на всякий случай, что у кого-то отличная идея, которую мне не хватает.