Как сделать поиск в SOLR для условия иерархии?

avatar
BVernon
8 апреля 2018 в 08:24
30
0
0

В SQL Server мы сделали where HierarchyKey like '%~' + cast(id as varchar) + '~%' при присоединении к иерархической таблице, чтобы мы могли сводить иерархические результаты для категорий внутри категорий.

Можно ли провести такое же сравнение с Solr? Если нет, то какие есть другие разумные решения этой проблемы, которые не требуют от меня полной перестройки того, как мы создаем иерархии?

Источник
MatsLindh
8 апреля 2018 в 21:17
0

Есть ли у вас правильный пример того, что вы индексируете, и как выглядит ваш запрос, и что вы ожидаете найти, а что нет? Solr имеет PathHierarchyTokenizer, который обычно используется для работы с иерархиями.

BVernon
8 апреля 2018 в 23:16
0

@MatsLindh У нас есть учебные курсы, которые относятся к одной или нескольким категориям, которые могут быть подкатегориями другой категории. Ключ иерархии для категории может выглядеть следующим образом: ~2781~1432~4341~. Итак, эта категория — 4341, которая является дочерней по отношению к 1432, которая является дочерней по отношению к 2781. Я думаю, что, вероятно, есть хорошее решение с упомянутым вами PathHierarchyTokenizer, хотя на данный момент я склоняюсь к очень простому решению — просто создать 3 столбца для L1. , L2 и L3, поскольку у нас есть только 3 уровня, и данная категория всегда представлена ​​только на одном из уровней.

Ответы (0)