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的原因进行深入说明,偶尔碰到这种无厘头的问题也挺郁闷的。

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章