使用solrcrudrepository搜索Solr(弹簧数据)

时间:2013-09-23 19:34:18

标签: solr spring-data solrj

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

1 个答案:

答案 0 :(得分:0)

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

使用空字符串repo.findByUsernameContainsOrNameContains("", "someName");调用 这将转换为q=username:** OR name:*someName*

因此username:**将匹配所有拥有用户名的文档。