DocumentMap을 사용하여 대량 인덱스를 만들려고합니다. 그DocumentMap으로 중첩 된 개체를 인덱싱하십시오.
case class Comment(id: String, fromId: String, fromName: String, message: String, creationTime: String, likeCount: Int =0)
extends DocumentMap {
def map = Map("id" -> id, "fromId" -> fromId, "fromName" -> fromName, "message" -> message, "createdTime" -> creationTime, "likeCont" -> likeCount)
}
case class Post(id: String, fromId: String, fromName: String, message: String, fullUrl: String, createdTime: String, updateTime: String, likeCont: Int= 0, comments: List[Comment] = Nil)
extends DocumentMap {
def map = Map("id" -> id, "fromId" -> fromId, "fromName" -> fromName, "message" -> message, "fullUrl" -> fullUrl, "createdTime" -> createdTime, "updateTime" -> updateTime, "likeCount" -> likeCont,
"comments" -> comments)
}
같은 클래스를지도 그리고 이것은
val test =jsonValue(0).as[Post]
client.execute {
index into "posts/test" doc test
}
데이터 (지금 내가 할 수있는 유일한 인덱스 단일 항목), 나는 두 가지 질문
1.Should을 얼마나 메신저 색인입니다 색인 생성 전에 중첩 된 속성 주석을 매핑합니까 ?? 이제 모든 목록이 단일 문자열로 색인화되기 때문입니다.
2. 게시 개체의 목록을 색인하는 방법은 무엇입니까 ?? 이제는 하나의 객체 만 색인 할 수 있습니다.
솔루션
1.first 매우 중요한 상자 인덱싱 전에 매핑.
2. 그런 대량 색인을 사용하십시오. 중첩으로
val ops = for (j <- jsonValue) yield index into "posts/test" doc j.as[Post]
client.bulk(ops: _*)
감사 미키
의 어떤 두 번째 부분의 동적 대량 구문 ... – MIkCode
을 나는 매핑 부분을 가지고,하지만 난 후 개체의 N 항목이있는 경우 ... 어떻게 무엇을 만들 수 있습니다 응답 주소. client.bulk()를 사용하고 bulk() 내부에 원하는만큼 많은 인덱스 호출을 넣으십시오. – monkjack
은 기본적으로이 내가 뭘 원하는지, ((J <대한 - jsonValue) { "게시물/테스트"문서의 j.as에 인덱스 [포스트] } ) 발 RESP = client.bulk 올바른 방법은 무엇입니까 그것을 구현하려면? – MIkCode