2013-09-23 316 views
0

我通过solrcrudrepository查询solr。我已经在存储库中定义了一个名为findByUsernameContainsOrNameContains(String username,String name)的方法。该方法应该将搜索词与用户名和名称进行比较,如果匹配,则会返回文档(根据文档)。这不是它的行为方式,而是匹配它返回存储在solr中的整个文档列表的术语。即使搜索词是空字符串。问题是什么?用solrcrudrepository搜索Solr(弹簧数据)

回答

0

repo.findByUsernameContainsOrNameContains("someUsername", "someName");会产生q=username:*someUsername* OR name:*someName*

一度被称为一个空字符串repo.findByUsernameContainsOrNameContains("", "someName"); 这将被转换为q=username:** OR name:*someName*

所以username:**将匹配有一个用户名的所有文件。

相关问题