--- setup: - do: indices.create: index: nestedindex body: mappings: company: properties: companyname: type: string employee: type: nested properties: name: type: string - do: indices.refresh: {} - do: index: index: nestedindex type: ".percolator" id: query body: { "query": { "nested": { "path": "employee", "score_mode": "avg", "query": { "match": { "employee.name": { "query": "virginia potts", "operator": "and"} } } } } } - do: indices.refresh: {} --- "Basic percolation tests on nested doc": - do: percolate: index: nestedindex type: company body: { "doc": { "companyname": "stark", "employee": [ { "name": "virginia stark"}, { "name": "tony potts"} ] } } - match: {'total': 0} - do: percolate: index: nestedindex type: company body: { "doc": { "companyname": "stark", "employee": [ { "name": "virginia potts"}, { "name": "tony stark"} ] } } - match: {'total': 1} --- "Percolate existing docs": - do: index: index: nestedindex type: company id: notmatching body: { "companyname": "stark", "employee": [ { "name": "virginia stark"}, { "name": "tony potts"} ] } - do: index: index: nestedindex type: company id: matching body: { "companyname": "stark", "employee": [ { "name": "virginia potts"}, { "name": "tony stark"} ] } - do: indices.refresh: {} - do: percolate: index: nestedindex type: company id: notmatching - match: {'total': 0} - do: percolate: index: nestedindex type: company id: matching - match: {'total': 1} --- "Test multi percolate": - do: mpercolate: body: - percolate: {"index": "nestedindex", "type": "company"} - doc: { "companyname": "stark", "employee": [ { "name": "virginia stark"}, { "name": "tony potts"} ] } - percolate: {"index": "nestedindex", "type": "company"} - doc: { "companyname": "stark", "employee": [ { "name": "virginia potts"}, { "name": "tony stark"} ] } - match: {'responses.0.total': 0} - match: {'responses.1.total': 1} - do: mpercolate: body: - percolate: {"index": "nestedindex", "type": "company"} - doc: { "companyname": "stark", "employee": [ { "name": "virginia potts"}, {"name": "tony stark"} ] } - percolate: {"index": "nestedindex", "type": "company"} - doc: { "companyname": "stark", "employee": [ { "name": "virginia stark"}, { "name": "tony potts"} ] } - match: {'responses.0.total': 1} - match: {'responses.1.total': 0}