spring-data-solr 是否有办法提供 json.facet 参数?
Does spring-data-solr have a way to provide json.facet parameter?
据我所知,没有办法提供 facet.json 使用 spring-data-solr。
我想要的是这样的:
public interface FooRepository extends SolrCrudRepository<Foo, Long> {
@Query(value = "name:?0")
@Facet(json="{More complex facet JSON here}")
FacetPage<Foo> findByNameAndFacet(String name, Pageable page);
}
即便如此,我认为返回的方面也不会很好地适合 FacetPage
对象。
在已经具有 spring-data-solr 的应用程序中处理此问题的最佳方法是什么?我目前的选择是从我的 spring-data-solr 存储库中单独使用 SolrClient。
PS - 我对 json.facet
感兴趣的原因是针对聚合函数 avg
和 field/ranges 以及排除标签的 domain
类似于 http://yonik.com/multi-select-faceting/
如果您可以使用字段方面进行管理,以排除标记的过滤器,您可以执行以下操作:
public interface FooRepository extends SolrCrudRepository<Foo, Long> {
@Query(value = "name:?0", filters = { "{!tag=COLOR}color:?1" })
@Facet(fields = { "{!ex=COLOR key=colors}color" })
FacetPage<Foo> findByNameAndColorFacet(String name, String color, Pageable page);
}
据我所知,没有办法提供 facet.json 使用 spring-data-solr。
我想要的是这样的:
public interface FooRepository extends SolrCrudRepository<Foo, Long> {
@Query(value = "name:?0")
@Facet(json="{More complex facet JSON here}")
FacetPage<Foo> findByNameAndFacet(String name, Pageable page);
}
即便如此,我认为返回的方面也不会很好地适合 FacetPage
对象。
在已经具有 spring-data-solr 的应用程序中处理此问题的最佳方法是什么?我目前的选择是从我的 spring-data-solr 存储库中单独使用 SolrClient。
PS - 我对 json.facet
感兴趣的原因是针对聚合函数 avg
和 field/ranges 以及排除标签的 domain
类似于 http://yonik.com/multi-select-faceting/
如果您可以使用字段方面进行管理,以排除标记的过滤器,您可以执行以下操作:
public interface FooRepository extends SolrCrudRepository<Foo, Long> {
@Query(value = "name:?0", filters = { "{!tag=COLOR}color:?1" })
@Facet(fields = { "{!ex=COLOR key=colors}color" })
FacetPage<Foo> findByNameAndColorFacet(String name, String color, Pageable page);
}