我试图创建一个索引,如前所示,但我总是得到这个错误:错误的请求请求'POST /initIndex'[无效的Json]
我使用elastic4s与播放框架2.3. x和scala 2.11。
import com.sksamuel.elastic4s.{ElasticClient, ElasticsearchClientUri, FrenchLanguageAnalyzer}
import com.sksamuel.elastic4s.ElasticDsl._
import com.sksamuel.elastic4s.mappings.FieldType._
import models.tools.Tool
import org.elasticsearch.action.get.GetResponse
import org.elasticsearch.action.search.SearchResponse
import scala.concurrent.Future
object ToolsDaoImpl {
private val uri: ElasticsearchClientUri = ElasticsearchClientUri("elasticsearch://localhost:9200")
private val client = ElasticClient.remote(uri)
def createIndex {
client execute {
create index name mappings (
"tool" as (
"id" typed IntegerType,
"title" typed StringType analyzer FrenchLanguageAnalyzer,
"description" typed StringType analyzer FrenchLanguageAnalyzer
)
)
}
}
def findById(toolId: Long): Future[GetResponse] = client.execute {
get id toolId from "tools/tool"
}
def findByName(name: String): Future[SearchResponse] = client.execute {
search in "tools/tool" query name
}
def initIndex {
client.execute {
index into "tools/tool" doc Tool(id = 1L, title = "Marteau", description = "Peut être utilisé pour differents travaux")
index into "tools/tool" doc Tool(id = 1L, title = "Perceuse", description = "Placoplatre et béton")
}
}
}
case class Tool(id: Long, title: String, city: String, description: String) extends DocumentMap {
override def map: Map[String, Any] = Map("id" -> id, "title" -> title, "description" -> description)
}
它是直接从控制器调用的。没别的事了
有什么想法吗?
提前谢谢。
编辑:我在一个简单的scala应用程序(一个主应用程序)上尝试了这段代码,效果很好。有什么理由呢?
您的示例可能不完整,但根据上面的代码,您有两个开大括号和一个闭大括号。
由于上面的代码不是问题所在,我想这是您发送的读取或JSON的问题——请提供更多关于您期望的模型和读取的详细信息
我已经在Ubuntu14.04中安装了ElasticSearch5.1。我在Elasticsearch中执行了一些操作,如创建索引,删除索引等,然后我安装了Kibana5.1。现在我想使用postman(localhost:9200/my_index with PUT)在elasticsearch中创建新的索引。但我遇到了这个错误。 我记得我曾使用作为索引或类型。但我已经清除了elasticsea
问题内容: 我试图通过使用elastic4s API 索引一些数据以进行elasticsearch 但是我正在编译错误 这是代码,稍后我将js对象字段映射到elasticsearch字段, 但是现在我只想索引一个测试用例 这是SBT文件 这是完全错误 我在安装过程中错过了什么吗? 还是其他? 谢谢miki 问题答案: 您的问题是缺少导入。作为链接状态的文档, 您还需要以下内容: 该模块是elast
问题内容: 我正在努力完成索引创建这一简单任务,目标是使用分析器和字段映射创建索引。当我使用分析器创建索引时,我可以通过分析api调用与分析器通信,但是当我添加映射信息时,创建索引调用失败,并显示“字段[$ field]]找不到Analyzer [analyzer1]”,我创建了一个脚本来显示问题: 问题答案: 我相信您的问题是这些设置需要嵌套在JSON的一个节点内,而不是您所拥有的嵌套在一个节点
当我跑的时候 我得到以下错误: 我试着改变我的ElasticSearch的版本。我的当前版本是: $curl-xget'localhost:9200'{“name”:“mokbeeq”,“cluster_name”:“elasticsearch”,“cluster_uuid”:“pf_z62bbtl-jq31hsuahqa”,“version”:{“number”:“5.6.8”,“build_h
由于最近没有使用,我在Heroku上重新安装了我的盆景Elasticsearch插件。以前它工作得很好,但现在我在rails控制台中键入以下内容时: 我收到以下错误: Elasticsearch::Transport::Transport::Errors::BadRequest([400]{“error”:{“root\u cause”:[{“type”:“非法的\u参数\u异常”,“原因”:“除
问题内容: 我有一个用例,需要每月在Elasticsearch中创建索引。这个想法是在月度基础上创建索引,以便它们易于维护并且可以在过期时删除。为此,我使用了spring- batch并有一个月度工作,它将按月基础创建索引以供Elasticsearch使用-Java集成我已经使用了Spring-Data Elasticsearch实现。我现在面临的问题是,我无法弄清楚如何使用Entity对象为索引