0

solrcrudrepository を介して solr にクエリを実行しています。リポジトリ内に、findByUsernameContainsOrNameContains(String username, String name) という名前のメソッドを定義しました。このメソッドは、検索用語をユーザー名と名前と比較し、一致する場合はドキュメントを返します (docs によると) 。用語を照合する代わりに、solr に保存されているドキュメントの完全なリストを返します。検索語が空の文字列の場合でも。何が問題ですか?

4

1 に答える 1

0

repo.findByUsernameContainsOrNameContains("someUsername", "someName");生産しますq=username:*someUsername* OR name:*someName*

空の文字列で呼び出されると、repo.findByUsernameContainsOrNameContains("", "someName"); これは次のように変換されますq=username:** OR name:*someName*

したがってusername:**、ユーザー名を持つすべてのドキュメントに一致します。

于 2013-09-23T21:09:47.067 に答える