在数据库中,我有4个字符串,如下所示:user,user1,user2,user4。 当我搜索字符串是用户,我会得到唯一的价值是用户,我怎样才能获得数据库中的所有价值?Hibernate搜索:如何使用包含字符搜索
0
A
回答
3
这取决于你想要做什么。
如果2个不同的值之间的区别是名称(“用户1”和“用户2”)经过短短数,你可以使用滴不信,所以用户“user1”的LowerCaseTokenizerFactory,“用户2”和'user4'将被索引为'user'。你可以使用EdgeNGramFilterFactory来创建字段中的n-gram来编制索引,所以'user4'将被编入索引:'u','us','use','user','user4'。在这种情况下,当关键字是'u','我们','使用'或'用户'时,您会发现'user',user1','user2'和'user4'。
正如@rs提到的,你可以使用通配符查询。
0
如果你想在查询时来解决这个问题,你可以创建一个“通配符”查询对象和搜索“用户*”得到的所有结果。举个例子:
Query q = yourQueryBuilderInstance.keyword().wildcard().onField("yourField")
.matching("user*").createQuery();
相关问题
- 1. Marklogic搜索:包含连字符( - )的搜索字词搜索问题
- 2. 在PHP搜索字符串,搜索字段包含空格
- 3. 如果搜索字符串包含
- 4. 如何在hibernate搜索中搜索特殊字符?
- 5. 高级搜索使用Hibernate搜索
- 6. LINQ的 - 搜索表记录中包含搜索字符串
- 7. 搜索XML文件并返回包含搜索的字符串
- 8. 使用SQLite,我如何搜索包含'?
- 9. Hibernate + MSSQL +全文搜索通过包含
- 10. Hibernate搜索:索引XML字符串?
- 11. 如何检索包含搜索词的子字符串的DBObjects?
- 12. 的Python:搜索包含特殊字符
- 13. MySQL - 搜索字符串包含“_”与LIKE
- 14. 有返回包含搜索字符串
- 15. MySQL搜索其中字符串包含
- 16. javascript搜索字符串包含'+'
- 17. JavaScript搜索字符串包含?
- 18. 复杂全文搜索使用PlayFramework搜索/ Hibernate搜索
- 19. 无法使用包含“/ 0”的字符串搜索弹性搜索
- 20. 如何搜索包含阿拉伯字符的字符串?
- 21. 搜索包含除
- 22. 使用indexOf来搜索包含某些字母的字符串
- 23. 如何使用Hibernate全文搜索
- 24. 如何在Hibernate搜索中使用BooleanJunction
- 25. 如何开始使用Hibernate搜索?
- 26. 如何在多列中使用Hibernate搜索子字符串
- 27. 如何执行包含令牌搜索的CloudKit全文搜索
- 28. 如何在iOS Spotlight搜索中包含更多搜索项目
- 29. Hibernate搜索
- 30. Hibernate搜索NoSuchMethodError
非常感谢。但是什么方式有最好的表现?使用EdgeNGramFilterFactory或使用通配符查询: -/ –
不客气:)我没有比较他们的表现。 EdgeNGramFilterFactory在索引时需要更多时间并需要更多内存。虽然通配符在获取数据时需要更多时间,并且不会在匹配条件中应用分析器。如果您决定使用通配符,如果您有大量数据,请不要在关键字(如“* user”)的开头放置“*”或“?”。 –