JCR OAK查询&节点类型

时间:2015-09-08 12:16:07

标签: lucene jcr jackrabbit

我正在研究Apache JackRabbit OAK(1.3.2)。 我创建了一个具有以下结构的节点(MyNode)并保存在存储库中。
- ' jcr:primaryType' = oak:非结构化
- ' name' =' myNode' 我还创建了一个lucene索引来根据documentation索引所有属性。 但是,当我运行以下查询时,我得不到任何结果。
select * from [oak:Unstructured] where name='myNode'
当运行以下查询时,我得到保存的“我的节点”'结果
从[[nt:base]中选择*,其中[jcr:primaryType] =' oak:非结构化'和姓名=' myNode''

  1. 当声明为nodeType
  2. 时,为什么我无法使用[oak:Unstructured]进行查询
  3. 如何验证我是否能够利用创建的lucene索引?

  4. 感谢

1 个答案:

答案 0 :(得分:2)

  

当声明为nodeType

时,为什么我无法使用[oak:Unstructured]进行查询

我无法查询的原因是在创建节点期间,仅将属性'jcr:primaryType'设置为'oak:Unstructured'是不够的。我们需要明确地将此属性的类型设置为“NAME”,否则它将被视为“STRING”属性。

  

如何验证我是否能够利用创建的lucene索引?

仅创建索引节点将不满足索引,我们还需要使用索引来初始化存储库。我使用以下行在我的存储库中启用索引。

      jcr.withAsyncIndexing();