当前位置: 首页 > 知识库问答 >
问题:

OAK-Lucene指数中indexNodeName和:nodeName之间的差异

慕光赫
2023-03-14

在节点类型定义上设置indexNodeName=true和定义具有属性name=: nodeName的虚拟nodeName属性之间有什么区别(如果有的话)。

默认为false。如果设置为true,则还将为节点名创建索引。这将能够更快地评估涉及节点名称约束的查询

将节点名索引为属性的目的类似于indexNodeName,但这并不意味着“与相同”。文件中对此没有说太多:

字符串:nodeName-这种特殊情况对节点名称进行索引,就像它是被索引节点的虚拟属性一样。将其与nodeScopeIndex=true一起设置类似于在索引规则上设置indexNodeName=true。

因此,为了查询节点名,需要同时设置两个或仅设置一个设置。如果只是其中一个,那是哪一个,有什么区别?示例:

//element(*, app:Asset)[fn:name() = ‘kite’]
//*[jcr:like(fn:name(), ‘kite%’)]
//element(kite, app:Asset)
//element(*, dam:Asset)[(jcr:like(fn:lower-case(fn:name()), 'kite%')

共有1个答案

卢阳成
2023-03-14

indexNodeName=true是使用name=:nodeNamenodeScopeIndex=true创建属性定义的快捷方式。

name=: nodeName允许更灵活地(以一点复杂性为代价)索引节点名称以用于其他用途——建议、拼写检查等。

因此,如果您只想使用这两种方法中的任何一种来查询节点名称,那么应该可以很好地工作(尽管在我看来,indexNodeName=true更简单、更清晰)。Otoh,如果您还希望节点名称显示为建议/拼写检查结果,则必须使用name=:nodeNamenodeScopeIndex=trueuseInSuggest=true的属性定义。

 类似资料:
  • 我正在实现一个表,该表有一个数据类型为的列,我正在尝试了解使用什么索引更好? GIN还是GiST? 在这里查看postgres文档时,我似乎了解到: > GiST更新和建立索引的速度更快,但不如gin准确。 GIN更新和构建索引的速度较慢,但更准确。 好吧,那么为什么会有人想要一个gist索引字段而不是杜松子酒呢?如果gist会给你错误的结果?这一定有一些优势(外部性能)。 谁能用外行的话解释一下

  • 本文向大家介绍奇数和偶数之和之间的差。,包括了奇数和偶数之和之间的差。的使用技巧和注意事项,需要的朋友参考一下 问题陈述 对于给定的长整数n,编写一个程序以查找奇数位和偶数位总和之间的差是否为0。索引从0开始。 示例 示例 以下是Java中的程序,用于查找所需的输出。 输出结果

  • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。

  • 我来自Java背景,刚接触Scala。 我正在使用Scala和Spark。但是我不明白我在哪里使用和。 有人能告诉我在哪种情况下我需要使用这两个操作符吗?和之间有什么区别吗?

  • 本文向大家介绍浅谈JS之tagNaem和nodeName,包括了浅谈JS之tagNaem和nodeName的使用技巧和注意事项,需要的朋友参考一下 nodeName是节点的属性,tagName是元素的属性。元素是节点的子集。不是任何节点都有tagName的,比如文本节点,仅有nodeName属性。 这个和css中的倾斜和斜体的关系是一样的。不是所有元素都有斜体的,但是都能倾斜。 以上这篇浅谈JS之

  • 我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?