我正在研究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''
感谢
答案 0 :(得分:2)
当声明为nodeType
时,为什么我无法使用[oak:Unstructured]进行查询
我无法查询的原因是在创建节点期间,仅将属性'jcr:primaryType'设置为'oak:Unstructured'是不够的。我们需要明确地将此属性的类型设置为“NAME”,否则它将被视为“STRING”属性。
如何验证我是否能够利用创建的lucene索引?
仅创建索引节点将不满足索引,我们还需要使用索引来初始化存储库。我使用以下行在我的存储库中启用索引。
jcr.withAsyncIndexing();