未找到elastic4s上的值索引错误

时间:2014-02-15 11:39:05

标签: scala elasticsearch elastic4s

我尝试使用elastic4s API

将某些数据编入索引进行弹性搜索

但我得到编译错误not found: value index

这是代码,稍后我会将js对象字段映射到弹性搜索字段, 但是现在我只想索引一个测试用例

import com.sksamuel.elastic4s._
def indexComment(commentList: List[JsObject]) {
val client = ElasticClient.local
for (comment <- commentList) {
   val id = comment.\("id").as[String]   
   client.execute {
     index into "posts/test" id id.toString() fields (
      "name" -> "London",
      "country" -> "United Kingdom",
      "continent" -> "Europe",
      "status" -> "Awesome")
    }

   }

   }

  }

这是SBT文件

libraryDependencies ++= Seq( jdbc, anorm, cache, "org.webjars" %% "webjars-play" % "2.2.1", "org.webjars" % "bootstrap" % "3.1.0", "org.webjars" % "jquery" % "2.1.0-1", "com.sksamuel.elastic4s" %% "elastic4s" % "1.0.0.0"
)

这是完整的错误

[error] /home/mik/programing/posts/app/helper/Helper.scala:27: not found: value index [error] index into "posts/test" id id.toString() fields ( [error] ^ [error] one error found [error] (compile:compile) Compilation failed [error] Total time: 2 s, completed Feb 15, 2014 1:34:54 PM

我在安装过程中遗漏了什么?

还是别的什么?

谢谢miki

1 个答案:

答案 0 :(得分:4)

您的问题是缺少导入。作为您关联的文档states,您还需要以下内容:

import com.sksamuel.elastic4s.ElasticDsl._

ElasticDsl module是elastic4s'DSLs的“入口点”,包括您使用的indexinto方法所在的IndexDsl

除了你曾经拥有的导入之外,还需要上述导入,因为在Scala中import statements are not recursive