2017-04-12 15 views
1

私が知る限り、ファセット.jsonにspring-data-solrを使用する方法はありません。私が望む何spring-data-solrにはjson.facetパラメータを指定する方法がありますか?

はこのようなものです。その後も

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とフィールドのために/あなたがタグ付けを排除するために、フィールドファセットで管理できる場合http://yonik.com/multi-select-faceting/

答えて

2

に似たタグを除外domainとの範囲でありますフィルターのように、あなたは次のようなことができます:

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); }

関連する問題