Beispiel #1
0
  /**
   * Recursively collects relevant thesaurus terms.
   *
   * @param list result list
   * @param node input node
   * @param level current level
   */
  private void find(final TokenList list, final ThesNode node, final long level) {
    if (level > max || node == null) return;

    for (int n = 0; n < node.size; ++n) {
      if (rel.length == 0 || eq(node.rs[n], rel)) {
        final byte[] term = node.nodes[n].term;
        if (!list.contains(term)) {
          list.add(term);
          find(list, node.nodes[n], level + 1);
        }
      }
    }
  }