簡體   English   中英

使用Java技術實現搜索(Java Web)

[英]implementing search using java technology(java web)

我想在使用Java技術構建的Web應用程序中實現搜索功能。 我將不得不搜索數據庫,具體取決於用戶查詢,並將顯示結果。 我可以采用哪種方式進行此操作(請注意我正在使用Java技術)。謝謝。

您可以使用類似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等)的全部負載。 清單還在繼續,如果沒有很多信息,很難建議任何特定的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM