繁体   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