我想在我的web應用程序中使用java技術構建搜索功能。我將不得不搜索數據庫,這取決於用戶查詢並顯示結果。我可以採用哪種方式來做到這一點(請注意我使用的是Java技術)??謝謝。使用java技術實現搜索(java web)
回答
您可以使用像http://lucene.apache.org/core/或http://lucene.apache.org/solr/這樣的產品,而不是自己寫這個。
Lucene是一個高性能的文檔搜索引擎。 SOLR是建立在Lucene之上,並提供額外的功能(如命中突出,面搜索,數據庫集成和豐富的文檔(如Word,PDF,..)搜索)
Lucene的將分析你的文本數據並建立索引。在執行搜索時,您可以針對此索引運行lucene查詢。
假設你的意思是在數據庫中的數據的自由文本搜索...
對於自由文本搜索Lucene和/或SOLR是非常好的解決方案。這些工作是通過在數據庫中創建一個單獨的數據索引來實現的。您可以從數據庫中提取數據並使用Lucene/SOLR對其進行索引,或者編寫寫入數據庫的代碼以更新Lucene/SOLR索引。鑑於你所說的話,這聽起來像是正在對現有數據庫進行改進,因此提取數據並將其編入索引可能是最佳解決方案。在這種情況下,SOLR可能更適合用作包裝解決方案。
另一種選擇是Hibernate Search。如果你剛開始,這將是一個解決方案。在事實之後添加更加困難。
還要記住,除了正常的關係查詢之外,還有一些數據庫支持自由文本搜索,值得一看。 SQL Server當然具有文本搜索功能,我想其他數據庫有某種支持。我不太清楚你如何訪問這些,但我希望能夠通過JDBC使用SQL來完成。儘管如此,它可能是數據庫特定的。
如果你只是指普通的SQL搜索,那麼Java EE技術,普通JDBC,Spring模板,ORM技術(JPA,JDO,Hibernate等)就是一個整體。這個名單還在繼續,如果沒有更多的信息,很難提出任何特定的方法。
非常感謝。我想要使用的方法是JPA(Java持久性API)。我該如何去解決它(我仍然是使用Java的web開發中的新手)??再次感謝。 –
幸運的是JPA並不是很難入門。幾個出發點[ORACLE JPA教程](http://docs.oracle.com/javaee/6/tutorial/doc/bnbpz.html)和[Hibernates JPA教程](http://docs.jboss.org/休眠/ ORM/4.2 /快速啓動/ EN-US/HTML/ch04.html) – pauli
- 1. Google AppEngine Java Web技術
- 2. 客戶端Java Web技術
- 3. Java WebService技術
- 4. 使用Java客戶端和JBoss實現推送技術Webervices
- 5. Java併發 - 使用哪種技術來實現安全?
- 6. Java技術衝突
- 7. 要使用哪些Java EE技術?
- 8. Java技術學習路徑
- 9. 如何使用Web技術
- 10. AngularJs和Java Servlet技術
- 11. 使用Java技術流式傳輸MP3
- 12. 是否可以使用Java後端和Web技術UI
- 13. 實現類推技術
- 14. IVR技術實現細節
- 15. 在哪些技術上實現了Java RMI?
- 16. 哪種搜索技術可用於ASP.NET?
- 17. 的Android,Java Socket技術
- 18. java中的最新技術
- 19. 新的Java技術JAXX
- 20. Java Socket技術除外
- 21. Java Socket技術編程
- 22. Java上的EL技術
- 23. Java Socket技術作家
- 24. 用於移動Safari的最高性能實時搜索技術
- 25. 深度優先搜索 - Java類實現
- 26. 在Java EE中實現全文搜索
- 27. Java二叉搜索樹實現問題。
- 28. java mysql嵌套搜索實現
- 29. 二進制搜索Java實現算法
- 30. Java二叉搜索樹 - 插入實現
SOLR(和Lucene)非常適合自由文本搜索,刻面等等。但是,OP只是提到了搜索,所以它可能或可能不是最好的解決方案...... – haraldK
謝謝,但它是一個項目,我一直要求通過使用javaEE技術通過數據庫實現搜索功能,而不是別的。你有什麼想法用什麼? –