Я использую Solrs TermsComponent для реализации функции автозаполнения. Мои документы содержат теги, которые я проиндексировал в поле "теги". Теперь я могу использовать TermsComponent, чтобы узнать, какие теги используются во всех сохраненных документах. Пока это работает очень хорошо.
Однако есть некоторые дополнительные требования: у каждого документа есть поле владельца, которое содержит идентификатор пользователя, которому он принадлежит. Список автозаполнения должен содержать только теги из документов, которые фактически принадлежат пользователю, запрашивающему автозаполнение.
public class ContainerNormal : ContainerBase<NodeNormal, ObjectNormal> {
}
public class NodeNormal : NodeBase<ObjectNormal> {
//This doesn't work
public NodeNormal(ContainerNormal owner) : base(owner) { }
}
Я немного понимаю, почему не работает вызов базового конструктора. Он пытается преобразовать ContainerNormal
в ContainerBase
, что на самом деле не работает.
Итак, какой шаблон проектирования мне не хватает, чтобы заставить эту работу право? Или мне просто нужно взять в конструкторе объект ContainerBase
, даже если это не обязательно объект ContainerNormal
?