2017-12-15 5 views
0

は、次のインデックス付きエンティティを考えてみましょう:検索用語が見つかったフィールドで、hibernate-searchでファセットを検索する方法はありますか?

@Entity 
@Indexed 
public class Document { 

    ... 

    @Field 
    private String title; 

    @Field 
    private String text; 

} 

ユーザー検索語がそれぞれtitletextで発見された文書の数と二つのオプションtitletextが含まれます、ファセットを提示する方法はありますか?また、ユーザーはこれらのオプションを選択して興味のあるフィールドだけを検索することができます。例えば

を、3つの文書があります。

{ "title" : "One", "text" : "One" } 
{ "title" : "One and Two", "text" : "Two" } 
{ "title" : "Three", "text" : "Three and Two" } 

は、検索クエリが「1」である。そして、ファセットは次のようになります。

{ "title" : 2, "text" : 1 } 

答えて

1

には、このような組み込みの機能はありません休止状態の検索、しかしあなた自身でそれを行うことができます。 「タイトルをファセッティングで、唯一の「タイトル」フィールドにフィルタを

  • 1をファセッティングせずに、「タイトルやテキスト」のフィルタで

    1. 1:代わりに、単一のクエリを実行するので、3を実行しますテキスト 『にファセットを持つフィールド、『テキスト」のみにフィルタを持つフィールド
    2. 一つの』第二のクエリから表題『ファセット』フィールド

    そして最初のクエリからの結果、集まります』、第3のクエリからの「テキスト」ファセットを含む。

    Hibernateでのファセットの詳細については、検索:https://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#query-faceting

  • 関連する問題