首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala Elastic4s找不到indexInto方法

Scala Elastic4s找不到indexInto方法
EN

Stack Overflow用户
提问于 2018-04-20 17:32:10
回答 1查看 308关注 0票数 1

我一直在寻求将弹性搜索集成到我的Scala程序中,但它始终难以找到某些方法和值。在这种情况下,它无法像堆栈跟踪所提到的那样在字符串中找到indexTo和'/‘。我认为这是一个进口的问题,但我仍然是新的语言。任何帮助都是非常感谢的!

堆栈跟踪:

代码语言:javascript
复制
[error] /Users/khalid/prog/decision_tree/src/main/scala/IrisClassifier2.scala:60:13: not found: value indexInto
[error]             indexInto("myindex" / "mytype").fields("s_length" -> (Json.parse(n) \ "sipJson" \ "s_length").as[Double],
[error]             ^
[error] /Users/khalid/prog/decision_tree/src/main/scala/IrisClassifier2.scala:60:33: value / is not a member of String
[error]             indexInto("myindex" / "mytype").fields("s_length" -> (Json.parse(n) \ "sipJson" \ "s_length").as[Double],
[error]                                 ^
[error] two errors found
[error] (Compile / compileIncremental) Compilation failed

在代码失败的对象中的主代码:

代码语言:javascript
复制
import com.sksamuel.elastic4s.ElasticsearchClientUri
import com.sksamuel.elastic4s.http.HttpClient
import com.sksamuel.elastic4s.http.search.SearchResponse
import org.elasticsearch.action.support.WriteRequest.RefreshPolicy
import com.sksamuel.elastic4s.ElasticDsl

val client = HttpClient(ElasticsearchClientUri("localhost", 9200))

client.execute {
        indexInto("myindex" / "mytype").fields("s_length" -> (Json.parse(n) \ "sipJson" \ "s_length").as[Double],
                                                 "s_width" -> (Json.parse(n) \ "sipJson" \ "s_width").as[Double],
                                                 "p_length" -> (Json.parse(n) \ "sipJson" \ "p_length").as[Double],
                                                 "p_width" -> (Json.parse(n) \ "sipJson" \ "p_width").as[Double],
                                                 "result" -> labelMap(model.predict(input)))
        .refresh(RefreshPolicy.WAIT_UNTIL)
    }.await

Build.sbt文件:

代码语言:javascript
复制
name := "SparkDT"

version := "0.1"

scalaVersion := "2.11.8"

val sparkVersion = "2.2.0"
val elastic4sVersion = "5.6.5"

dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-core" % "2.8.7"
dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.7"
dependencyOverrides += "com.fasterxml.jackson.module" % "jackson-module-scala_2.11" % "2.8.7"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % sparkVersion,
  "org.apache.spark" %% "spark-mllib" % sparkVersion,
  "com.typesafe.play" %% "play-json" % "2.6.7",
  "com.sksamuel.elastic4s" %% "elastic4s-core" % elastic4sVersion,
  "com.sksamuel.elastic4s" %% "elastic4s-http" % elastic4sVersion,
  "com.sksamuel.elastic4s" %% "elastic4s-streams" % "5.6.5",
  "com.sksamuel.elastic4s" %% "elastic4s-testkit" % elastic4sVersion % "test",
  "com.sksamuel.elastic4s" %% "elastic4s-embedded" % elastic4sVersion % "test"
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-20 23:00:17

结果,答案很简单,我只是忽略了它。更改此导入语句:

代码语言:javascript
复制
import com.sksamuel.elastic4s.ElasticDsl

至:

代码语言:javascript
复制
import com.sksamuel.elastic4s.http.ElasticDsl._
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49946974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档