如何连接播放!通过Ebean到ElasticSearch的框架

时间:2016-07-29 21:48:02

标签: elasticsearch playframework-2.0 ebean

我正在建立一个游戏! Framework(2.5)Java应用程序,我想使用Ebean将它连接到ElasticSearch。

首先,我关注the steps here并成功连接到虚拟jdbc(已添加插件,已修改build.sbt,已添加ebean.default="models.*"default.driver = org.h2.Driverdefault.url = "jdbc:h2:mem:play" application.conf)。到目前为止一切都很好。

现在,我想将我的连接切换到ElasticSearch而不是jdbc,所以我跟着the steps here,但我无法理解我的生活。到目前为止我做了什么:

  • 已添加到build.sbt

    libraryDependencies ++= Seq( "org.avaje.ebeanorm" % "avaje-ebeanorm-elastic" % "1.3.1" )
    
  • 已添加到application.conf

    ebean.docstore.url="http://localhost:9200"
    ebean.docstore.active=true
    ebean.docstore.generateMapping=true
    ebean.docstore.dropCreate=true`
    
  • application.conf

    中删除
    default.driver = org.h2.Driver
    default.url = "jdbc:h2:mem:play"
    

我无法运行此代码,因为我一直收到此错误:

RuntimeException: com.typesafe.config.ConfigException$WrongType: application.conf @ file:/C:/Users/../conf/application.conf: 357-360: docstore has type OBJECT rather than LIST

我非常感谢任何指向正确的方向。谢谢!

1 个答案:

答案 0 :(得分:0)

你可以:

  1. 覆盖您的ebean配置programmaticaly
  2. 在ebean属性文件中添加配置
  3. 1 - 以编程方式

    package models;
    
    import com.avaje.ebean.config.ServerConfig;
    import com.avaje.ebean.event.ServerConfigStartup;
    
    public class ConfigOverride implements ServerConfigStartup {
    
        public void onStart(ServerConfig serverConfig) {
            serverConfig.getDocStoreConfig().setUrl("http://localhost:9200");
            serverConfig.getDocStoreConfig().setActive(true);
            serverConfig.getDocStoreConfig().setGenerateMapping(false);
            serverConfig.getDocStoreConfig().setDropCreate(false);
            serverConfig.getDocStoreConfig().setCreate(false);
            serverConfig.getDocStoreConfig().setPathToResources("conf");
        }
    }
    

    2 - 配置

    您必须将ebean.docstore属性放在ebean.properties conf目录中。但不幸的是,我没有设法让应用程序在舞台模式下工作

    来源:https://raw.githubusercontent.com/playframework/play-ebean/master/docs/manual/working/javaGuide/main/sql/JavaEbean.md

    仅供参考:我在这里开了一个问题: https://github.com/playframework/play-ebean/issues/104