2015-01-19 4 views
0

내가 인덱스를 만들려고 해요 전에 같이 할 때 플레이 프레임 워크에 elastic4s와 Elasticsearch 색인을 생성하지만, 난 항상이 오류를 얻을 : 'POST/initIndex'[잘못된 JSON]잘못된 JSON 오류가

요청에 대한 잘못된 요청을

나는 프레임 워크 2.3.x와 스케이어 2.11과 함께 elastic4s를 사용하고 있습니다.

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) 
} 

그리고 컨트롤러에서 직접 호출됩니다. 다른 내용

어떤 생각?

미리 감사드립니다.

편집 : 간단한 스칼라 앱 (기본)에서이 코드를 사용해 보았습니다. 그 이유는 무엇일까?

+0

이 코드를 복사하거나 다시 입력 했습니까? – Barry

+0

@Barry copy past. 없이도 똑같은 일을합니다. –

+1

이 방법을 호출하는 데 사용하는 경로와 작업을 붙여 넣을 수 있습니까? 위의 코드를 복사/붙여 넣었고 내 로컬에서 적절한 매핑을 사용하여 도구 색인을 만듭니다. – Barry

답변

2

코드가 위의 문제가되지 이었기 때문에 나는 이것이 당신은 당신이 보내는 읽거나 JSON과 상상 - 그것은 당신의 예를 것을있을 수 있습니다 당신이 기대하고있는 모델에 대한 자세한 정보를 제공하시기 바랍니다,과는

+0

Thnx. 코드를 수정하고 전체 객체를 작성했습니다. –

1

읽어 불완전하지만 위의 코드에서 두 개의 열린 중괄호와 하나의 닫은 중괄호가 있습니다.

+0

예가 불완전하여 지금 전체 예제를 작성했습니다. –