Oracle DB等关系数据库的搜索引擎实现

时间:2018-04-28 12:02:02

标签: java oracle elasticsearch spring-data hibernate-search

我需要为Oracle等关系数据库创建搜索引擎。我必须在Elastic Search的帮助下创建一个搜索引擎。经过一周的分析仍然不确定;我应该遵循什么样的架构来满足这一要求。

Spring boot-spring data-elasticsearch
Spring data-elasticsearch
Spring boot-hibernatesearch

在此之后,我已经浏览了这个网站,以便对hibernate搜索有所了解。

http://hibernate.org/search/releases/5.9/

还不是很清楚我必须遵循哪一个来实现关系数据库的搜索引擎。有什么建议。?

搜索引擎就像附加的搜索组件一样。

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您的问题是关于是否使用Spring-Data或Hibernate Search,那么您可能需要查看my answer to this other question

引用:

  

我显然有偏见,因为我是一名Hibernate开发人员,但我可以   至少提供一些专注于Hibernate Search的元素。至于哪个   是“更好”,这是你判断的。

     

主要区别在于Hibernate Search提供了集成   在JPA和您选择的索引之间(Lucene或Elasticsearch):

     
      
  • Hibernate Search会根据JPA实体的变化自动添加/更新/删除全文索引中的文档(如   一旦你提交了一笔交易)。
  •   
  • Hibernate Search将允许您构建全文查询(全文世界),并将结果检索为托管实体(JPA   世界)。
  •   
     

据我所知,Spring-Data-Elasticsearch专注于   访问Elasticsearch并且没有任何JPA集成。那是   要说,你可以使用Spring-Data-JPA,你可以使用   Spring-Data-Elasticsearch,但它们不会相互通信。   您将有两个单独的模型,您将更新和查询   分开。

     

其他一些要素:

     
      
  • 如果您不需要分布式索引,Hibernate Search可以在嵌入式Lucene模式下运行,而不需要所有Elasticsearch堆栈。它会   可能更轻巧。
  •   
  • Hibernate Search 当前在自定义Elasticsearch映射或使用高级Elasticsearch时不是很灵活   功能,因为抽象层。这将改变   未来,虽然(Hibernate Search 6)。
  •   
  • Spring-Data-HibernateSearch模块正在开发中,可以从两全其美的优势中受益。它尚未发布   但是,目前还没有很好的文档记录:   https://github.com/snowdrop/spring-boot-hibernate-search-booster
  •