首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java技术实现搜索(Java web)

使用java技术实现搜索(Java web)
EN

Stack Overflow用户
提问于 2013-06-13 15:37:08
回答 2查看 1.9K关注 0票数 1

我想在我正在使用java技术构建的web应用程序中实现搜索功能。我将不得不搜索整个数据库,这取决于用户的查询,并将显示结果。我可以用哪种方式来做这件事(请注意我使用的是java技术)??.Thanks。

EN

回答 2

Stack Overflow用户

发布于 2013-06-13 15:43:51

您可以使用像http://lucene.apache.org/core/http://lucene.apache.org/solr/这样的产品来实现这一点,而不是自己编写。

Lucene是一个高性能的文档搜索引擎。SOLR建立在Lucene之上,并提供其他功能(如点击突出显示、分面搜索、数据库集成或富文档(Word、PDF等))搜索)

Lucene会分析你的文本数据并建立一个索引。在执行搜索时,您可以对此索引运行lucene查询。

票数 5
EN

Stack Overflow用户

发布于 2013-06-13 16:39:15

假设您的意思是对数据库中的数据进行自由文本搜索...

对于免费文本搜索,Lucene和/或SOLR是非常好的解决方案。它们的工作方式是为数据库中的数据创建单独的索引。这取决于您是否从数据库中提取数据并使用Lucene/SOLR对其进行索引,或者安排写入数据库的代码以同时更新Lucene/SOLR索引。鉴于您所说的,这听起来像是在对现有数据库进行翻新,因此提取数据并对其进行索引可能是最好的解决方案。在这种情况下,SOLR可能是一个更好的选择,因为它是一个打包的解决方案。

另一种选择是Hibernate Search。如果你刚开始,这也是一个可以使用的解决方案。在事实之后添加将会更加困难。

还要记住,除了普通的关系查询之外,一些数据库还支持自由文本搜索,可能值得一看。SQL Server当然有文本搜索功能,我想其他数据库也会有某种支持。我不太确定如何访问这些内容,但我希望能够通过JDBC使用SQL来访问它们。不过,它可能是特定于数据库的。

如果你只是指普通的SQL搜索,那么有一整套Java技术,普通的JDBC,Spring模板,ORM技术(JPA,JDO,Hibernate等)。清单还在继续,如果没有更多的信息,很难提出任何特定的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17081657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档