저는 Jackrabbit에 비교적 새로운입니다. 우리 애플리케이션에서는 repository.xml (Workspace.xml 등) 파일 내의 SearchIndex 섹션을 절대로 사용하지 않았습니다. JCR UUID 참조를 사용하여 항상 주어진 문서로 직접 이동하기 때문입니다. Jackrabbit v2.2.1 및 오라클을 저장소로 사용 중입니다. 이제 우리는 문서 메타 데이터 기능을 사용하여 문서에 대한 컨텍스트 정보를 저장하여 메타 데이터를 사용하여 선택한 문서 집합을 검색 할 수 있기 때문에 요구 사항이 확장되고 있습니다.Jackrabbit XPath 문제
첫 번째 단계에서는 workspace.xml 파일에 기본 SearchIndex 섹션을 추가하고 JCR을 다시 시작했습니다.
내 로그 파일에서 이처럼 일련의 줄을 보았습니다. 그런 다음 작업 영역 아래에 인덱스 폴더가 생성 된 것을 보았습니다.
2011-07-05 15 : 04 : 01.724 INFO [웹 컨테이너 : 0] MultiIndex.java:1204 인덱싱 .../VFS : 인 metaData/21ee130e-978e-415f-bfd1-7aa03d91608c/VFS : 특성 (3500)
나는 이와 같은 폴더 구조를 가지고있다. 내가 JCR에서 문서를 만들 때, 나는 등 DOCTYPE, uploadedBy, contextValue 같은 태그 복잡한 XSD 유형입니다 문서의 일부로서 메타 데이터 정보를 원하시면, 다음 XPath 식 작동
/ (root)
/MyApp (sub-folder)
/documents/ (sub-folder)
/document-1.pdf (file)
/document-2.pdf (file)
/accounts/ (sub-folder)
/account.txt (file)
etc...
를 지정합니다.
// JCR : 루트/VFS : metaData는 // * [VFS : 속성/VFS : DOCTYPE = 'TAX_DOCS']
내가 잘못된 값을 주면 대신 'TAX_DOCS'의 예를 들어, ' 세금 ', 그것은 훌륭한 문서를 반환하지 않습니다. 이렇게하면 메타 데이터가 예상대로 올바르게 저장되고 필터 프로세스에서 올바르게 사용됩니다.
이 쿼리의 문제점은 루트 폴더에서 검색을 시작하지만/MyApp/documents 하위 폴더에서만 검색하려고한다는 것입니다.
// JCR : 루트/MyApp를/문서 // VFS : metaData는 // * [VFS : 속성/VFS : DOCTYPE = 'TAX_DOCS']
그것은 아무 것도 반환하지 않습니다 그래서 난이 시도. 그럼에도 불구하고 나는 이것을 시도했지만 성공하지 못했습니다.
// JCR : 루트/MyApp를/문서 // * [VFS : metaData는/VFS : 속성/VFS : DOCTYPE = 'TAX_DOCS'] 내가 잘못 뭐하는 거지 그래서
? workspace.xml 구성에서 설정하거나 누락해야하는 것이 있습니까?
도움을 주시면 감사하겠습니다.
감사합니다, 잭