弹性搜索 hibernate 和 mongodb 域类 - Grails

Posted

技术标签:

【中文标题】弹性搜索 hibernate 和 mongodb 域类 - Grails【英文标题】:Elastic search on both hibernate and mongodb domain classes together - Grails 【发布时间】:2014-06-06 12:05:48 【问题描述】:

我有具有休眠和 mongodb 映射的域类。然后我安装了弹性搜索gorm插件并提到了

"elasticSearch.datastoreImpl = 'mongoDatastore'" in Config.groovy.

它适用于 mongodb 域类。如何对剩余的休眠域类应用弹性搜索?如果我输入 searchable = true,则会出错。

【问题讨论】:

【参考方案1】:

使用 Hibernate Search 及其新的 Elasticsearch 集成:

http://in.relation.to/2016/05/24/ElasticsearchintegrationReachesBeta1/

您可能还想考虑使用 Hibernate OGM 将其他实体映射到 MongoDB:

http://docs.jboss.org/hibernate/ogm/5.0/reference/en-US/html_single/#ogm-mongodb

这样您就可以使用一致的编程模型,并将 Hibernate Search 与它们两者集成。

(免责声明:我在 Hibernate 全职工作时有偏见,实际上我不知道 GORM 能够做类似的事情,所以我无法比较这两种方法)。

【讨论】:

【参考方案2】:

替代解决方案 - 将休眠域行转换为 JSON 并使用本机弹性搜索调用将其添加到弹性搜索数据库。

【讨论】:

以上是关于弹性搜索 hibernate 和 mongodb 域类 - Grails的主要内容,如果未能解决你的问题,请参考以下文章

节点js中的REST api,用于使用弹性搜索进行全文搜索

MongoDB 弹性伸缩能力提升 100 倍是如何做到的?

将几个 mongodb 与 monstache 一起使用

Spring Data MongoDB 和 Hibernate OGM for MongoDB 有啥区别?

在 grails3 中使用 mongodb 和休眠

在弹性应用程序设计上,eBay为什么选择MongoDB?