错误maxClauseCount搜索某些属性是否为null或不为null

时间:2016-04-26 08:00:26

标签: lucene alfresco

当我尝试在Alfresco中使用Lucene进行搜索时,如果某些属性不为null:

myProperty IS NOT NULL;

或为null:

myProperty IS NULL;

我有这个错误:

  

org.apache.lucene.search.BooleanQuery $ TooManyClauses - maxClauseCount设置为10000

这是我的疑问:

 SELECT D.cmis:name, D.cmis:objectId, D.cmis:creationDate, R.regxun:numReg, R.regxun:numInterno FROM cmis:document AS D JOIN regxun:contextoRegistroBase AS R ON D.cmis:objectId = R.cmis:objectId WHERE D.cmis:creationDate >= TIMESTAMP '2016-02-18T00:00:00.000Z' AND D.cmis:creationDate < TIMESTAMP '2016-02-19T00:00:00.000Z' AND R.regxun:ambitoDoc='prrubuh' AND R.regxun:numReg IS NOT NULL

任何替代方案?

1 个答案:

答案 0 :(得分:0)

将alfresco-global.properties中的 lucene.query.maxClauses 增加到10000以上的数字。

像:

lucene.query.maxClauses=100000

但是我不会保持这么高,只是试着保留 IS NOT NULL 语句,这会在数据库查询中创建很多OR子句。

例如,您可以创建一个规则或行为,使用特殊值填充自定义属性(例如&#39;空&#39;),然后搜索它。