lucene查询问题

时间:2009-09-16 07:19:05

标签: lucene alfresco

我在和Alfresco一起使用Lucene。这是我的疑问:

( TYPE:"{com.company.customised.content.model}test"  &&  (@\{com.company.customised.content.model\}testNo:111 && (@\{com.company.customised.content.model\}skill:or))

我必须搜索具有值"or"属性技能的文档。上面的查询没有给出任何结果(我无法解析查询)。

如果我使用查询到testNo(忽略skill),我会得到正确的结果:

 ( TYPE:"{com.company.customised.content.model}test"  &&  (@\{com.company.customised.content.model\}testNo:111))

你能帮帮我吗?

由于

2 个答案:

答案 0 :(得分:2)

不幸的是,"or"是Lucene中的保留关键字。因此,Lucene无法正确解释您的查询,因为Lucene认为您指的是OR boolean operator。您可能想尝试用双引号括起or

( TYPE:"{com.company.customised.content.model}test"  &&  (@\{com.company.customised.content.model\}testNo:111 && (@\{com.company.customised.content.model\}skill:"or"))

我不熟悉Alfresco,所以你可能无法做到这一点。

答案 1 :(得分:0)

是的,或者是lucene中的保留关键字,但是如果你试图按类型编号的属性进行查询,那么你可以直接给出你的值,如果类型为d:text或string,那么你必须给出你的价值双引号" "

(TYPE:" {com.company.customised.content.model} test"&&(@ {com.company.customised.content.model} testNo:111&&( @ {com.company.customised.content.model}技能:"或&#34))