最近,我们为与 Jackrabbit(1.6.2) 一起工作的应用程序添加了 Lucene(2.4.1) 支持。我们已经按照jackrabbit教程中描述的方式完成了所有工作。所有的工作几乎都很好。但我注意到一些奇怪的行为,找不到任何关于它的文档。我决定问问你。
例如:我在 jcr:data 属性的 Node(jcr:content) 中有以下文本
The quick brown fox jumps over the lazy dog
!@#$%^&
travmik!
tra!vmik
我的 XPath 查询如下:
String query = "root/element(*,my:documentBody)
[jcr:contains(*/*/element(*),'*" + param +"*')]";
然后我尝试搜索:
“q”、“qu”、“qui”、“quic”、“quick”、“k”、“ck”、“ick”、“uick”、“quick brown fox”、“quick fox”、“tra” , "travmik", "mik" - 一切正常
“tra!vmik”,“travmik!”,“!@#$” - 没有
而且,是的,我从this中转义了所有特殊字符。
我做错了什么?
Ps 我还有一个问题 - 在 Lucene 文档中说“你不能使用 * 或 ? 符号作为搜索的第一个字符”,但我使用它并且它有效。为什么?