Hibernate поиск фасетов, как вернуть фасет запрос Spring MVC

1

У меня есть запрос и получение граней по этому запросу. Но как я могу добавить выделенную грань к следующему запросу из интерфейса?

     FacetingRequest categoryFacetingRequest = qBuilder.facet()
            .name("categoryFaceting").onField("distr").discrete()
            .orderedBy(FacetSortOrder.COUNT_DESC).includeZeroCounts(false)
            .createFacetingRequest();
    FacetManager facetManager = fullTextQuery.getFacetManager();
    facetManager.enableFaceting(categoryFacetingRequest);

    List<Facet> facets = facetManager.getFacets("categoryFaceting");

Список грани, которые я прикрепляю как атрибут модели.

Теги:
spring
hibernate
hibernate-search
facet

1 ответ

0

Я понимаю, что вы используете jsp. Вам нужно построить связь со всеми старыми параметрами, используемыми для отображения текущих результатов, а также с новым сужением запроса.

Пример:

<c:forEach items="${facets}" var="narrowingFacetParam" varStatus="loop">
    <li>    
        <a href='
            <c:url value="search">
                <c:param name="oldQueryParam1" value="${oldQueryParam1value}"/>
                <c:param name="oldQueryParam2" value="${oldQueryParam2value}"/>
                ...
                <c:param name="narrowingFacetParam" value="${narrowingFacetParam.value}"/>
            </c:url>
        '>${narrowingFacetParam.name}</a>

    </li>                               
</c:forEach>

Конечно, вы должны построить свой запрос так, как он может принимать любое количество сужающих параметров (пример: сузить результаты, чтобы они соответствовали заданному диапазону цен и данной категории).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню