solr处理括号的一个bug
这两天碰到solr的一个bug,在括号中使用非表达式,造成没有任何结果命中:
检索到这个已经有人提bug了,https://issues.apache.org/jira/browse/SOLR-2209
?
Indexed documents:
id: 1, UserId: 0, AccountId: 1
id: 2, UserId: 0, AccountId: 1
id: 3, UserId: 1, AccountId: 1
id: 4, UserId: 2, AccountId: 1
id: 5, UserId: 3, AccountId: 1
正确的Query:
account_id: 1 AND -user_id: 0
正确的Results:
Document Ids: 3, 4, 5
异常的Query:
account_id: 1 AND ( -user_id: 0 )
异常的Results:
--No matched documents –
?
?
官方现在还没有解决这个问题,不过可以采取*:*的办法暂时避免这个问题,上面的Query改造为:
account_id:1 AND (*:* -user_id:0) 这样就能正常查询出结果了。
?
期待官方对这个bug的原因进行深入说明,偶尔碰到这种无厘头的问题也挺郁闷的。
?
?
?
?
?
?
?
?
?
?