当前位置: 首页 > 面试题库 >

在elastic4s上找不到值索引错误

庞元青
2023-03-14
问题内容

我试图通过使用elastic4s API 索引一些数据以进行elasticsearch

但是我正在编译错误 not found: value index

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

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


问题答案:

您的问题是缺少导入。作为链接状态的文档,
您还需要以下内容:

import com.sksamuel.elastic4s.ElasticDsl._

ElasticDsl模块是elastic4s
DSL的“入口点”
,包括您使用IndexDslindexinto方法的来源。

**除了您执行的导入之外,上述导入也是必需的,因为在Scala中,导入语句不是递归的



 类似资料:
  • 关于搜索字段的两个问题: > 我想使用elastic4s dsl查找特定id是否存在。此查询elasticsearch API的aquivilent: 卷曲-XGET'http://localhost:9200/indexName/indexType/_search/exists?q=_id:foo' 但这会产生isExists无法检查的搜索定义 我想获取所有id,到目前为止,我得到了这个解决方案

  • 我试图创建一个索引,如前所示,但我总是得到这个错误:错误的请求请求'POST /initIndex'[无效的Json] 我使用elastic4s与播放框架2.3. x和scala 2.11。 它是直接从控制器调用的。没别的事了 有什么想法吗? 提前谢谢。 编辑:我在一个简单的scala应用程序(一个主应用程序)上尝试了这段代码,效果很好。有什么理由呢?

  • 问题内容: 为什么list.index会引发异常,而不是使用任意值(例如)?这背后的想法是什么? 对我来说,处理特殊值而不是例外看起来更干净。 编辑 :我没有意识到这是一个潜在的有效值。然而,为什么不别的呢?无值如何? 问题答案: 因为本身就是有效的索引。它可以使用一个不同的值,例如,但在其他情况下(因此)可能没有用,并且仅相当于错误检查,这正是异常处理的目的。

  • 问题内容: 我有以下代码, 在csv文件没有足够的覆盖范围(所有工作日)之前,它一直有效。例如,对于以下.csv文件, 我会收到以下错误: 它似乎有一个非常简单的修复程序,但是我对Python来说还太陌生,不知道如何修复它。 问题答案: 使用以获得您所需要的所有列。它将保留已经存在的那些,否则将其放入空列。 因此,您的整个代码示例应如下所示:

  • 我的应用程序ionic 4有一个问题,当我运行时,我出现以下错误:

  • 问题内容: 说我有这个 这给了我 等等 JavaScript中有什么方法可以返回带有值的索引? 即我想要 200 的索引,我得到 1 。 问题答案: 您可以使用: 如果无法在数组中找到值,则将得到-1。