我们有一个在Spring Boot中开发的基于微服务的应用程序。让我们假设有3个微服务A,B和C。前端使用Angular编写,后端包括MySQL数据库和针对ORM的Hibernate。我们需要实现全文搜索功能,该功能将在UI上具有一个搜索框,用户可以在其中输入自己选择的文本。搜索必须能够从所有3个微服务的数据库返回数据。我在最终确定相同搜索技术时面临着困难。我拥有的一些技术是
哪个是解决此问题的最佳技术?如果可能,是否有相同的示例?
Hibernate search内部取决于Apache Lucene。我不确定,但如果它已经成熟为version 6.0,它的Elasticsearch集成仍处于开发阶段。
Hibernate search i.e. 5.11的较旧/稳定版本支持Elasticsearch 2.0至5.6。
但是查看您的查询,这取决于您使用的用例。也许以下几点对您有帮助。
Solr和Elasticsearch都是很好的技术,但是如果您必须使用其中之一,我强烈建议您使用Elasticsearch,因为它可以帮助您完成上述所有查询,它拥有令人惊叹的DSL,它非常成熟。它非常快速且易于设置。
此外,它本质上完全是RESTful,因此这意味着在部署应用程序时,您的工作变得更轻松。
希望这会有所帮助!