Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java heroku上的hibernate搜索_Java_Heroku_Solr_Lucene_Hibernate Search - Fatal编程技术网

Java heroku上的hibernate搜索

Java heroku上的hibernate搜索,java,heroku,solr,lucene,hibernate-search,Java,Heroku,Solr,Lucene,Hibernate Search,我有一个用Spring+JPA+Hibernate构建的应用程序,运行在Heorku上,我使用Hibernate搜索进行FullTextSearch。在本地机器上,我将索引存储在文件系统上。我在persistence.xml中的配置 <property name="hibernate.search.default.directory_provider" value="filesystem"/> <property name="hibernate.search.def

我有一个用Spring+JPA+Hibernate构建的应用程序,运行在Heorku上,我使用Hibernate搜索进行FullTextSearch。在本地机器上,我将索引存储在文件系统上。我在persistence.xml中的配置

<property name="hibernate.search.default.directory_provider" 
    value="filesystem"/> 
<property name="hibernate.search.default.indexBase" 
    value="/opt/lucene/indexes"/> 


Heroku只有对文件系统的读取权限,然后我将索引存储在内存中,但这不是最好的方法,因为当服务器实例重新启动时,索引会丢失。你认为最好的方法是什么?有一种方法可以将hibernate搜索与WebSolr或其他东西集成起来?

我找到了一个解决方案。我将在heroku上使用mongodb插件来存储我的索引,我基于lucene的mongodb目录为hibernate搜索实现了一个目录提供程序,在我的本地机器上运行良好。

heroku没有只读文件系统(在Cedar上);不鼓励您写入文件系统,因为您的多个节点可能会失去同步。如果您确定索引将在每个节点上以相同的方式生成,或者在每个节点上具有不同的索引不是问题,那么您可以写入文件系统。不过,我仍然倾向于将你的应用程序连接到Heroku众多优秀的搜索插件中的一个。Heroku有一个短暂的文件系统,“这意味着你不能动态地写入文件系统以获得半永久性存储”。我可以将哪个搜索插件与hibernate搜索集成?是的,还忘了提到ti的短暂性,所以每次启动都必须重新生成索引。不幸的是,我不知道如何将Hibernate连接到他们的一个附加组件,而不是连接到其他系统,所以希望有人能留下一个正确的答案和信息。我找到了一个解决方案。我将在heroku上使用mongodb插件来存储我的索引,我已经基于lucene的mongodb目录为hibernate搜索实现了一个目录提供程序,并且在我的本地机器上运行良好。太好了!我建议你把它作为一个“答案”加上,自己接受它,这样对其他偶然发现这一页的人会很有用。