在數據庫中,我有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」)的開頭放置「*」或「?」。 –