`
smiky
  • 浏览: 257748 次
  • 性别: Icon_minigender_1
  • 来自: 天门
社区版块
存档分类
最新评论

jcr中的search方式

SQL 
阅读更多

jackrabbit支持XPATH与SQL查询:

对于XPATH查询它添加了一些新的函数,主要用到的我看就是这两个:

element(nodeName,nodeType)用于选取某类型的节点,其中nodeName可以用*代替,表示选取所有此类型的节点

jcr:contains(propertyName,'value')用于选取具有某属性且值为什么的节点,propertyName可以用.代替表示任意属性

如://element(*,nt:file)或//*[jcr:contains(.,'test')]其中jcr;contains中的值必须用''括起来

 

还有一个jcr:like(propertyName,'pattern')等同于sql中的like,如jcr:like(array,'%ar%)用于选取array属性值中有ar的节点

经过测试发现jcr:like与jcr:contains中的属性名前面有无@都一样(jcr:contains(@array,'array1')

JSR172规范中是加了@的

/**
			 * nt:base是所有节点类型的基类型
			 * 
			 * //*应该等价于select * from nt:base才对啊
			 * 但实际结果却不能直接用//*,必须用//element(*,nt:base)才能拿到结果
			 * 同时select * from nt:base也得不到任何结果
			 * 唯一可以确定的就是:Query.SQL中from后面跟的是结点类型,
			 * Query.XPATH中//*这里的*表示的也是结点的类型
			 * 
			 * and与or:
			 * [@属性  or/and @属性]    属性后不加值表示拥有此属性,加值的话表示拥有此属性且属性值为该值
			 * [jcr:contains(.,'值') and/or jcr:contains(.'值')]
			 * 
			 * 对于一个属性拥有多个值的情况,没有发现在查询时与只有一个值的情况有任何区别,如下:
			 * session.getRootNode().getNode("test").setProperty("array", new String[]{"array1","array2"});
			 * qm.createQuery("//element(*,nt:base)[@array='array1' and @array='array2']", Query.XPATH);
			 * qm.createQuery("//element(*,nt:base)[jcr:contains(.,'array1') and jcr:contains(.,'array2')]", Query.XPATH);
			 * test的array属性有两个值,在查询只跟查一个值的情况一样,直接@array='array1'或@array='array2或@array='array1' and/or @array='array2'都能将其查出
			 * */
 

 

分享到:
评论

相关推荐

    快乐写作与投稿-如何更好地利用SCI、BP及JCR数据库-PPT幻灯片.ppt

    7. **Cited reference search**:这是一种研究方法,通过查找引用某一特定文献的其他论文,可以发现新的研究方向和思路。 8. **论文发表的考虑因素**:包括了解期刊的偏好,寻找合适的审稿人,提升作者和论文的知名...

    PubMed Impact Factor Search-crx插件

    此文件可以手动下载,(1)煽动日志引文报告(https://jcr.clarivate.com/jcrlandingpageaction.action)(1-a)“浏览期刊”(1-B)“定制指标”(1-c)检查“ISSN”并保存(1-D)下载CSV你需要,(2)将其设置为...

    JahiaOneSeleniumPresentation

    您需要在 Digital Factory 7.1 服务器中导入站点 searchsite_demo.zip。 您需要模板集 sample-bootstrap-template。 该站点自带3个用户:jcr1、jcr2和jcr3,都带有密码:password 站点结构如下: Home |- ...

    flexible-search-oak:我在 ApacheCon EU '14 上的演讲“Flexible search with Apache Jackrabbit Oak”的回购

    在"flexible-search-oak-master"这个仓库中,可能包含了以下内容: 1. 演示代码:展示了如何设置和使用Oak的查询功能,可能包括如何创建和管理索引,以及如何执行复杂的查询。 2. 示例数据:可能包含了一些用于测试...

    转载 ACS数据库及检索方法介绍.doc

    ACS出版的期刊在化学领域被广泛引用,据ISI的Journal Citation Report (JCR)数据显示,它们是化学领域中被引用次数最多的期刊。 ACS数据库涵盖了广泛的化学和相关科学领域,包括但不限于农业化学、生物化学、生物...

    Jackrabbit学习篇

    ### Jackrabbit核心包详解 ...通过对Node Type、Item State、版本控制、Search Manager和事件机制的深入分析,我们可以更好地理解Jackrabbit的工作原理,并在实际项目中更高效地利用它的强大功能。

    SearchSeleniumDemo

    您需要在 Digital Factory 7.0 或 7.1 服务器中导入站点 searchsite_demo.zip(在资源文件夹中)。 您需要模板集 sample-bootstrap-template。 该站点自带3个用户:jcr1、jcr2和jcr3,都带有密码:password 站点...

    oak-solr-embedded-0.18.zip

    Oak提供了多种存储后端,包括内存、MongoDB和RDBMS,支持JCR(Java Content Repository)API,广泛应用于内容管理系统如Adobe CQ5/AEM。 2. **Solr嵌入式使用**:Oak-solr-embedded使Solr可以在Oak内容存储库内部...

    Lightning Search Algorithm (LSA):Lightning Search Algorithm (LSA)-matlab开发

    在 [1] 中,与其他五种众所周知的方法,即 DSA、BSA、FFA、PSO 和 HSA 进行了广泛的比较研究,以验证和比较 LSA 解决问题的成功与 DSA、BSA、FFA 的成功相比、PSO 和 HSA。 参考[1]。 Hussain Shareef、Ahmad Asrul...

    aem-sites-extension-search-predicate:AEM 6.1站点的样本包。 为站点管理控制台创建自定义搜索谓词

    在项目目录中,运行mvn clean install content-package:install生成捆绑包和内容包并安装到CQ实例。 与VLT一起使用 要将vlt与此项目一起使用,请先如上所述将程序包构建并安装到本地CQ实例。 然后cd到src/main/...

    Lucene教程

    Jackrabbit是Apache的一个开源项目,它是一个完全实现了JCR(Java Content Repository)规范的内容管理系统。虽然主要与Lucene不直接关联,但Jackrabbit可能使用Lucene作为其内部的搜索引擎。UML(统一建模语言)则...

    化学信息学第四章 常用文摘数据库 web of knowledge.ppt

    Web of Science作为核心数据库,与其他数据库及工具如EndNote、ScholarOne-Manuscript Central等紧密集成,提供期刊引证报告(JCR)、基本科学指标(ESI)以及ResearcherID等服务,帮助科研工作者评估论文质量、追踪研究...

    基于Java的实例源码-客户管理系统 Alfresco Content Management.zip

    Alfresco主要由四个关键组件构成:内容存储(Repository)、Web应用服务器(Web Application)、工作流引擎(Workflow Engine)和搜索服务(Search Service)。内容存储是系统的基础,负责存储各种类型的内容,如...

    大陆图书馆联合采购国外电子资源的现状与问题.pptx

    包括参考数据库(如SCI、SSCI、AHCI、Ei、INSPEC、CSA、OCLC FirstSearch、WOSP、BIOSIS、PQDD等)、全文数据库(如ARL、PQDD全文、ABI、ASE、ASP、BSE、BSP、IEL等)、事实数据库(如Genome Database、China ...

    web_of_science应用技巧

    1. 使用Advanced Search:高级搜索界面允许你组合多个搜索条件,比如同时搜索作者名和关键词,或者限制在特定的期刊、年份范围内。 2. 使用Field Tag:WoS使用Field Tag来指定搜索的特定字段,如TI(标题)、AU...

    openFrame | J2EE-开源

    "openframe-services-jcr-2.0.0.jar"则是内容管理系统的一部分,支持内容的存储和检索。"openFrame-services-reporting-2.0.0.jar"提供了报告生成功能,便于数据分析和决策支持。"openFrame-services-jmx-2.0.0.jar...

    jspirit-开源

    3. jspirit-search:提供模型搜索功能,使得在大型数据集中快速检索成为可能。 4. jspirit-business:业务层模块,处理业务逻辑和规则。 5. jspirit-client:客户端层模块,负责与用户的交互界面和体验。 6. jspirit...

Global site tag (gtag.js) - Google Analytics