如何在lucene索引中存储树结构

时间:2016-10-06 19:18:38

标签: java search lucene

我没有存储平面结构,而是使用树形结构来存储lucene索引。在树上进行搜索时,我必须返回搜索节点以及该节点的所有祖先。

对于ex,树就像下面一样。它完整​​的地理树。

      Global
      |    |
     Asia North America
     |     |        |
 China    USA      MEXICO

我可以想到两种方法将这些数据存储在lucene中。

1st approach: Capture on parent node of a given node.
       name, parent
       Asia, Global
       China, Asia
       USA, North America

Java Object:
Class Node
     id ,name

在这种方法中,让我说我正在寻找美国。根据要求,我必须返回北美和全球的所有美国祖先。所以我必须以递归方式去索引。

2nd approach: store ancestors in lucene index also

Java Object:    
    class Node
    id, name, List<Node> ancestors

在这种方法中,我多次捕获祖先。它会创建一个问题,或者lucene只捕获重复值一次吗?

哪种方法会更好还是在lucene中存储另一种树形结构?

感谢。

0 个答案:

没有答案