2

春のデータ solr でクエリを組み合わせて、結果として強調表示とファセットを含むページを取得するにはどうすればよいですか? 現在、2 つのリクエストを作成し、結果を結合する必要があります。

カスタム リポジトリの実装を使用します。

@Override
public Page<Sample> myQuery(Criteria query, Criteria filterQuery) {
   FilterQuery filterQuery = new SimpleFilterQuery(filterQuery);

   FacetQuery facetQuery = new SimpleFacetQuery(query)
    .setFacetOptions(new FacetOptions().addFacetOnField("availability"));
   facetQuery.addFilterQuery(filterQuery);

   FacetPage<Sample> page = solrTemplate.queryForFacetPage(facetQuery, Sample.class);

   // Or create highlight query 

   SimpleHighlightQuery highlightQuery = new SimpleHighlightQuery(query);
   highlightQuery.addFilterQuery(filterQuery);
   highlightQuery.setHighlightOptions(new HighlightOptions());
   HighlightPage<Sample> highLightPage = solrTemplate.queryForHighlightPage(highlightQuery, Sample.class);
  return page;
}

私が欲しいのは、ハイライトとファセットのクエリを一度に行うクエリです。

4

1 に答える 1

0

バージョン 1.4.2-RELEASE に関しては、これはサポートされていません。HighlightQueryとは別々に処理され、これら 2 つのインターフェイスに共通の実装がないためFacetQuery、クエリは相互に排他的です。を参照してくださいorg.springframework.data.solr.core.DefaultQueryParser.doConstructSolrQuery(SolrDataQuery)

この目的のために、すでに問題があります: DATASOLR-244

于 2015-07-30T08:14:08.713 に答える