По умолчанию Solr возвращает фасеты для поля, а затем, если вы выбираете значение фасета для этого поля, все другие предыдущие варианты больше не возвращаются как часть фасетов для этого поля.
Я пытаюсь разработать поисковую систему, которая больше похожа на поисковую систему Amazon (которая основана на их собственной поисковой системе A9 и поэтому, вероятно, похожа на Amazon CloudSearch).
Когда вы сужаетесь до некоторых «аспектов» поиска на Amazon, они продолжают показывать другие варианты вместе с подсчетами, если вы добавите эту область в свой поиск.
Есть ли встроенный способ сделать это в Solr? Если нет, то как бы я свернул свой собственный. Очевидно, мне нужно будет кэшировать исходные фасеты, возвращаемые для поля. Но что было бы наиболее эффективным способом подсчета количества для этих других фасетных областей, если я уже выбрал один (или несколько) фасетов для поля. Очевидно, что когда выбраны дополнительные аспекты, вы выполняете запрос «ИЛИ» между этими значениями, поскольку вы пытаетесь показать что-то с любым из двух значений.
Например, я провел поиск в ювелирном отделе Amazon по запросу «кольцо с бриллиантом», а затем сузил поиск до «Золото» в качестве типа металла. Затем я смог выбрать несколько граней в каратах:
Может ли кто-нибудь привести пример того, как я мог (эффективно) сделать это с Solr?
И есть ли в разработке какая-либо функция для будущей версии Solr, которая предлагала бы эту функциональность из коробки (при условии, что ее еще нет в коробке)?