2015-09-08 2 views
0

Je travaille sur Apache JackRabbit OAK (1.3.2). J'ai créé un noeud (MyNode) avec la structure suivante et enregistré dans le référentiel.
- 'JCR: primaryType' = chêne: Unstructured
- 'name' = 'myNode'
J'ai aussi créé un indice de Lucene pour indexer toutes les propriétés selon le documentation. Cependant, lorsque je lance la requête suivante, je n'obtiens aucun résultat.
select * from [oak:Unstructured] where name='myNode'
Et quand la course la requête suivante je reçois sauvés 'myNode' dans le résultat
'select * from [nt: base] où [JCR: primaryType] =' chêne: Unstructured » et name = 'myNode' '

JCR OAK Query & NodeType

  1. Pourquoi suis-je pas en mesure d'interroger avec [chêne: Unstructured], lorsque cela est déclaré nodeType
  2. Comment puis-je vérifier si je suis en mesure de tirer parti de l'indice Lucene créé?


Merci

Répondre

2

Pourquoi suis-je pas en mesure d'interroger avec [chêne: Unstructured], quand est déclaré ce nodeType

La raison pour laquelle je n'étais pas en mesure d'interroger était au cours de la création du noeud, il suffit de définir la propriété 'jcr: primaryType' sur 'oak: Unstructured'. Nous devons définir explicitement le type de cette propriété sur "NAME", sinon elle sera traitée comme une propriété "STRING". Comment puis-je vérifier si je suis en mesure de tirer parti de l'index lucene créé? La création du noeud d'index ne suffit pas pour l'indexation, nous devons également initialiser le référentiel avec l'indexation. J'ai utilisé la ligne suivante pour activer l'indexation dans mon référentiel.

 jcr.withAsyncIndexing();