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?