MIk*_*ode 2 scala elasticsearch playframework-2.0 elastic4s
我试图通过使用elastic4s API和播放框架将一些数据索引到弹性搜索
我基本上是从控制器调用这个方法
def test(){
val client = ElasticClient.local
client.execute { create index "bands" }
client execute { index into "bands/singers" fields "name"->"chris martin" }
client.close()
}
Run Code Online (Sandbox Code Playgroud)
我没有在播放或弹性搜索日志中收到任何错误,
然后我检查了Sense插件,如果数据被索引,我得到了
{
"error": "IndexMissingException[[bands] missing]",
"status": 404
}
Run Code Online (Sandbox Code Playgroud)
看起来查询没有去服务器?...
这是因为创建索引不是同步的,因此您在创建索引完成之前尝试进行索引.
最简单的方法是通过调用使create index同步
client.sync.execute { create index "bands" }
哪个将阻止,直到创建索引,该索引应该<1秒.或者你可以将未来的工作归还.
编辑:在elastic4s 1.3中,同步已被替换为期货上的.await助手.
client.execute( create index "bands" ).await