2013-03-24 54 views
1

我有以下形式的結構化JSON數據:如何在Lucene或類似庫中索引和搜索嵌套文檔/結構化數據?

{ 
    "id": 42, 
    "name": "hand", 
    "quantity": 2, 
    "digits": [ 
     { 
      "id": 43, 
      "name": "thumb", 
      "quantity": 1, 
      "components": [ 
       { 
        "id": 44, 
        "name": "thumb", 
        "position": 0 
       } 
      ] 
     }, 
     { 
      "id": 45, 
      "name": "fingers", 
      "quantity": 4, 
      "components": [ 
       { 
        "id": 46, 
        "name": "index", 
        "position": 1 
       }, 
       { 
        "id": 47, 
        "name": "middle", 
        "position": 2 
       }, 
       { 
        "id": 48, 
        "name": "ring", 
        "position": 3 
       }, 
       { 
        "id": 49, 
        "name": "little", 
        "position": 4 
       } 
      ] 
     } 
    ] 
} 

我需要索引這些數據,使用Java,這樣將有可能事後進行查詢,以獲得所需的信息。

爲此,一個解決方案可以使用Apache Lucene,它支持自3.4版以來的嵌套文檔。但是,我找不到任何教程,也沒有關於如何創建嵌套文檔的簡單示例。

任何人都可以解釋如何爲結構化數據創建Lucene文檔嗎?

另外,還有其他庫類似於Lucene哪些更好地支持索引和搜索結構化數據?

+0

你有沒有找到這個問題的解決方案?我有同樣的問題,但與XML嵌套文件。如果您找到解決方案,請指導我參考教程或其他內容。 – faridasabry 2016-04-19 05:30:28

回答

1

你的情況的一個簡單的解決方案是使用路徑枚舉(「杜威小數」)。例如,前三個tems將是「42」,「42.43」和「42.43.44」,而第四個項目將是「42.45」。確保您的插槽足夠大,以滿足您需要的最大數量的項目 - 例如,「042.043.044」。