Verwenden Sie BooleanQuery oder schreiben Sie mehr Indizes?

Ein Kategoriebaum wie dieser:

<code>root_1
  sub_1
  sub_2
  ... to sub_20 
</code>

Jedes Dokument hat eine Unterkategorie (wiesub_2). Jetzt habe ich nur geschriebensub_2 im Lucene-Index:

<code>new NumericField("category",...).setIntValue(sub_2.getID());
</code>

Ich möchte alles bekommenroot_1's Dokumente, mitBooleanQuery (verschmelze diesub_1 zusub_20) um in jedem Eintragsdokument eine andere Kategorie zu suchen oder zu schreiben:

<code>new NumericField("category",...).setIntValue(sub_2.getID());
new NumericField("category",...).setIntValue(root_1.getID());//sub_2's ancestor category
</code>

Welches ist die bessere Wahl?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage