1

タイトルがややこしいので、コードで説明します。

@Indexed @Entity
public class Person {
    @Id @GeneratedValue
    private Long id;

    @OneToMany(mappedBy = "employee")
    @IndexedEmbedded
    private Set<Job> jobs = new LinkedHashSet<>();
}

@Entity
public class Job {
    @Id @GeneratedValue
    private Long id;

    @Field 
    private Boolean current;
}

現在、2 つの異なる検索シナリオがあります。人の現在の仕事のプロパティと、その人がこれまでに経験したすべての仕事です。事後にフィルターを適用したり、クエリに別の句を追加したりできることはわかっていますが、可能であればこの情報をインデックスに複製したいので、2 つの異なる検索クエリを使用できます。

  • (jobs.id: [10 TO 100])id10 ~ 100 のすべてのジョブ
  • (currentJobs.id: [10 TO 100])この ID 範囲の現在のすべてのジョブ

これは可能ですか?もしそうなら、どのように?

4

1 に答える 1

0

セットリストのカスタム ブリッジを実装することもできます。これは、リストを反復し、現在のジョブにインデックスを付けるだけです。カスタム ブリッジの情報と例については、ドキュメントを確認してください。

于 2013-07-31T08:37:04.667 に答える