2013-03-24 1 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 
       } 
      ] 
     } 
    ] 
} 

가 나는 쿼리가 필요한 정보를 얻을 수 있도록 이후에 가능할 것이다, 그래서 자바를 사용하여 인덱스에 이러한 데이터가 필요합니다.

해결책을 위해 버전 3.4부터 중첩 된 문서를 지원하는 Apache Lucene을 사용할 수 있습니다. 그러나 중첩 된 문서를 만드는 방법에 대한 자습서 나 간단한 예제를 찾을 수 없었습니다.

누구나 구조화 된 데이터를위한 Lucene 문서를 만드는 방법을 설명 할 수 있습니까?

또는 구조화 된 데이터의 인덱싱 및 검색을 더 잘 지원하는 Lucene과 유사한 다른 라이브러리가 있습니까?

+0

이 질문에 대한 해결책을 찾았습니까 ?? 동일한 문제가 있지만 xml 중첩 된 문서가 있습니다. 솔루션을 찾으면 저를 튜토리얼이나 다른 것으로 안내하십시오. – faridasabry

답변

1

간단한 해결책은 경로 열거 ("Dewey Decimal")를 사용하는 것입니다. 예를 들어 첫 번째 세 개는 "42", "42.43"및 "42.43.44"이고 네 번째 항목은 "42.45"입니다. 슬롯이 필요한 항목의 최대 수만큼 충분히 큰지 확인하십시오 (예 : "042.043.044").

관련 문제