Ограничение терминов в Solr TermsComponent терминами, происходящими из определенных документов

Я использую 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 , ObjectNormal> , что на самом деле не работает.

Итак, какой шаблон проектирования мне не хватает, чтобы заставить эту работу право? Или мне просто нужно взять в конструкторе объект ContainerBase , ObjectNormal> , даже если это не обязательно объект ContainerNormal ?

6
задан Ed Marty 9 March 2011 в 19:32
поделиться