Я пытаюсь принять Hibernate Search в свое приложение, но я застрял в ограничении результатов поиска с помощью граничного диапазона, чтобы ограничить результаты на основе ценовых диапазонов.Hibernate Search: facet on double does not return results
Мой код (сниппеты):
Product.java содержит:
@Field(analyze = Analyze.NO, store = Store.YES, bridge = @FieldBridge(impl = DoubleBridge.class))
@NumericField()
private double price = 0.0;
Мой поиск обработчика, построение ценовой аспект:
FacetingRequest priceFacetingRequest = builder.facet()
.name("price")
.onField("price")
.range()
.below(10.0)
.from(11.0).to(24.0)
.from(25.0).to(49.0)
.from(50.0).to(99.0)
.from(100.0).to(199.0)
.from(200.0).to(499.0)
.from(500.0).to(999.0)
.from(1000.0).to(1499.0)
.above(1500.0)
.excludeLimit()
.createFacetingRequest();
facetManager.enableFaceting(priceFacetingRequest);
И, наконец, прежде чем список результатов, ограничивая результаты с помощью одной из фасетов:
facetManager.getFacetGroup("price").selectFacets(rangeFacet);
Я пробовал все возможности rangeFacets, но никто не возвращает никаких результатов. Помимо грани диапазона(), у меня есть разные текстовые грани, которые работают одинаково, но обычно фильтруют результаты. Кроме того, facetManager resports результаты для результатов facetRange, но при попытке все же он приводит к 0 результатам при вызове fullTextQuery.list().
Что мне не хватает?
Спасибо!