Я пытался выяснить способ реализации огранки с иерархиями в solr и не могу понять, как это сделать в моей ситуации. Я прочитал несколько статей о выполнении иерархии в solr вместе с решениями в патче 64 и 792. Основная проблема, с которой я сталкиваюсь, заключается в том, что у меня есть объекты, которые могут принадлежать нескольким ветвям иерархии. Текущей формой моих данных является пользовательский документ с MVAs для страны, штата и города.solr география иерархии
Возьмем, к примеру, географическую иерархию, в которой люди могут перечислять свои услуги до уровня города. Человек может обслуживать всю алабаму, но только некоторые города в Грузии. Теперь количество огней на уровне штата подсчитывает отдельных лиц, обслуживающих район, который составляет 1 для алабамы и 1 для грузии, а при расширении до уровня города имеет счет для каждого города (другими словами, сумма города подсчеты не обязательно будут равны счетчику состояний, так как подсчеты не являются взаимоисключающими).
США (1)Грузия (1)Атланта (1)Alabama (1)
Коламбус (0)
Афины (0)Mobile (1)
Бирмингем (1)
Хантсвилл (1)
Часть, на которую я повесил трубку, - это то, что когда я украшаю города, у меня нет возможности узнать, с каким состоянием они принадлежат, поскольку пользователь указан как в алабаме, так и в Джорджии, и я не могу найти способ связать атрибуты с друг друга. solr-64 может работать, если он поддерживает несколько филиалов, таких как US/Alabama/Mobile/и US/Georgia/Atlanta/для того же документа. На данный момент я не смог заставить его скомпилироваться с ночной сборкой, хотя я так застрял.
У кого-нибудь есть лучший способ сделать это?
Чтобы уточнить, у вас есть документ на город или один документ на услугу, в котором перечислены все города и состояния в документе? – rfeak
Это документ за услугу. – bcm6435
Все предложения отлично работают, если пользователь принадлежит только одной ветви. Что происходит, если я выдаю запрос для facet.field = city, тогда города для обоих состояний отображаются без возможности их группировки в соответствии с их родительским состоянием. Даже если я поворачиваюсь или группируюсь, он думает, что все города принадлежат каждому государству. Если я помещаю разделитель в качестве rfreak, я могу восстановить дерево, но, похоже, он требует большой обработки клиентской стороны, потому что он не будет автоматически сворачивать подсчеты до уровня состояния. – bcm6435