0
Elasticsearch 1.7 및 elastic4s DSL을 사용하고 있습니다. 내 문제는 추가 할 수 없으며 중첩 된 문서에 & 또는 필터를 추가 할 수 없습니다.Elasticsearch 중첩 필터링 (elastic4s, scala)
var request: SearchDefinition = search in "myIndex" -> "candidate" query {
filteredQuery query {
matchAllQuery
} filter {
and(filters)
}
}
으로 :
def filtering(interviewAndCandidates: IntCand)(implicit user: PublicUser): Seq[FilterDefinition] = {
nestedFilter("interviews").filter(termFilter("clientId", user.id)) ::
List(or(interviewAndCandidates.interviews.map(state ⇒ nestedFilter("interviews").filter(termFilter("stateId", state)))))
}
그런 다음 나는 쿼리를 작성 : 여기
{
"name": "Samy"
"interviews": [
{
"clientId": 0,
"stateId": "CANCELED",
},
{
"clientId": 1,
"stateId": "APPROVED"
}
]
내 필터입니다 : 는 예를 들어, 다음의 경우 클래스 후보의 내 인스턴스의 JSON 표현입니다 :
case class IntCand(interviews: List[String])
case class Candidate(name: String, interviews: List[Interview])
case class Interview(clientId: Long, stateId: String)
내가 ("취소됨"목록()) IntCand 및 클라이언트 ID = 1을 필터링 할 때 (210)
문제는, 응답이 나에게 후보를 보여주는 데이터를 비정규로 내가 성공