0
탄성 검색을 사용하려고하는데 중첩 된 개체를 쿼리하려고했습니다.탄성 검색 중첩 된 개체 매핑 및 검색 쿼리
기본적으로 내 개체의 형식은 다음과 내가 중첩 된 필드에 사용
{
"name" : "Some Name",
"field2": [
{
"prop1": "val1",
"prop2": "val2"
},
{
"prop1": "val3",
"prop2":: "val4"
}
]
}
매핑하는 것은 다음과 같다.
PUT /someval/posts/_mapping
{
"posts": {
"properties": {
"field2": {
"type": "nested"
}
}
}
}
말은 지금은에 대한/필드 요소를 삽입/게시물/1/필드/게시물/2 등 내가 field2.prop1에 대한 K 값을 가지고 있고 대부분의 경기에 따라 정렬 된 게시물을 얻는다 쿼리를 원하는 내가 가지고있는 K 값 중 field2. 무엇에 대한 적절한 쿼리가 될 것입니다. 또한 간단한 필터를 사용해 보았지만 올바르게 작동하지 않는 것 같습니다.
GET /someval/posts/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
}
},
"filter" : {
"nested" : {
"path" : "field2",
"filter" : {
"bool" : {
"must" : [
{
"term" : {"field2.prop1" : "val1"}
}
]
}
},
"_cache" : true
}
}
}
}
위의 쿼리는 적어도 첫 번째 게시물과 일치해야합니다. 하지만 일치하는 항목이 없습니다. 아무도 여기서 무엇이 잘못 되었는가를 명확히하는 데 도움이 될 수 있습니까?
고마워요! 쿼리에 사용할 수있는 디버거가 있습니까? 또한 객체 배열에서 대부분의 일치를 쿼리하는 방법은 무엇입니까? 질문에 게시 한 것과 비슷합니다. – sriram
나는 감각을 사용하고, 나는 전혀 모른다. 다음 부분에서는 아마도 별도의 질문으로 질문 할 것이므로 다른 사용자가 도움이 될 것입니다. – progrrammer
좋아. 그것도 작동 :) – sriram