Używając BooleanQuery lub napisać więcej indeksów?

Drzewo kategorii takie jak to:

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

Każdy dokument ma podkategorię (npsub_2). Teraz tylko pisałemsub_2 w indeksie lucene:

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

Chcę dostać wszystkoroot_1dokumenty, używającBooleanQuery (połączsub_1 dosub_20) aby wyszukać lub napisać inną kategorię w każdym dokumencie wejścia:

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

Jaki jest lepszy wybór?

questionAnswers(1)

yourAnswerToTheQuestion