【问题标题】:Searching Solr with solrcrudrepository (spring data)使用 solrcrudrepository 搜索 Solr(spring 数据)
【发布时间】:2013-09-23 19:34:18
【问题描述】:
我正在通过 solrcrudrepository 查询 solr。我在存储库中定义了一个名为:findByUsernameContainsOrNameContains(String username, String name) 的方法。该方法应该将搜索词与用户名和名称进行比较,如果匹配,它将返回文档(根据文档)。这不是它的行为方式,而是返回存储在 solr 中的完整文档列表,而不是匹配术语。即使搜索词是空字符串。问题是什么?
【问题讨论】:
标签:
solr
spring-data
solrj
【解决方案1】:
repo.findByUsernameContainsOrNameContains("someUsername", "someName"); 将产生q=username:*someUsername* OR name:*someName*
使用空字符串调用一次repo.findByUsernameContainsOrNameContains("", "someName");
这将被转换为q=username:** OR name:*someName*
所以username:** 将匹配所有具有用户名的文档。