我在项目中使用Jackrabbit存储文件和信息。
我有一个自定义节点类型:
<an = 'ApplyNode'>
<ani = 'ApplyNodeInfo'>
<anp = 'ApplyNodeProperty'>
[an:PolicyNode] > nt:hierarchyNode
- anp:PolicyId (string)
- anp:DepartmentId (string)
- anp:PolicyName (string)
- anp:DepartmentName (string)
- anp:AreaName (string)
- anp:IssuanceTime (date)
- anp:ValidTime (date)
- anp:Digest (String)
- anp:PolicyContent (string)
我知道Jackrabbit可以使用JCR-SQL查询节点中的信息。但是JCR-SQL无法满足我的需求,例如模糊搜索和字频。所以我想知道如何使用Lucene来查询节点中的信息。
如何使用Lucene API在Jackrabbit中查询?
THX。
答案 0 :(得分:0)
AFAIK jackrabbit确实使用Lucene来构建运行时快速数据查找所需的索引 - 但它在内部完成,并且它不会将它使用的任何Lucene位暴露给&#34;外部&# 34;,通过其API层。 因此,您无法使用Lucene的API查询Jackrabbit JCR实现,您必须坚持使用JCR的文档查询支持,抱歉:(
答案 1 :(得分:0)
简而言之,您可以编写类来处理索引。覆盖org.apache.jackrabbit.core.query.lucene.SearchIndex
并将您的类添加到您的存储库配置...
<SearchIndex class="<your class>">
下行是您必须自己处理所有索引,并且您无法使用JCR SearchManager。