我计划在我的网络应用程序中添加搜索功能。我正在为应用程序使用Struts 2框架,并且将在Relational数据库中对要搜索的项目进行处理。为了实现全文搜索引擎,我有以下疑问:
答案 0 :(得分:2)
看看hibernate搜索。我很确定它符合您的需求,因为存储在DB中的数据将被索引并因此可用于搜索。据我所知,Solr将索引存储在文件系统中(尽管可能有一个插件将索引存储在DB中)。
你也看看www.elasticsearch.com。它来自指南针的创造者。我认为罗盘的支持有限。
答案 1 :(得分:2)
取决于您想要操作的级别。由于您已经在Java应用程序中,因此使用Lucene API,索引数据然后再次使用它进行搜索非常容易。你可以用Solce做任何事情,你可以用Lucene做,但可能有更多的逻辑和胶水代码。
答案 2 :(得分:0)
您说您的数据在数据库中,但您没有提到您是否使用ORM解决方案。如果你这样做,我也建议你看看Hibernate Search。 Hibernate是一项要求,但您可以使用经典会话或使用JPA。 Web应用程序的最大优势可能是您始终使用托管实体,而不必编写样板代码以转换为Lucene文档。 索尔也有自己的位置。这实际上取决于您的要求和架构。