Parent Id 查询

parent_id 查询用来寻找特定父文档下的子文档。假设有如下的字段映射:

  1. PUT my_index
  2. {
  3. "mappings": {
  4. "_doc": {
  5. "properties": {
  6. "my_join_field": {
  7. "type": "join",
  8. "relations": {
  9. "my_parent": "my_child"
  10. }
  11. }
  12. }
  13. }
  14. }
  15. }
  16. PUT my_index/_doc/1?refresh
  17. {
  18. "text": "This is a parent document",
  19. "my_join_field": "my_parent"
  20. }
  21. PUT my_index/_doc/2?routing=1&refresh
  22. {
  23. "text": "This is a child document",
  24. "my_join_field": {
  25. "name": "my_child",
  26. "parent": "1"
  27. }
  28. }
  1. GET /my_index/_search
  2. {
  3. "query": {
  4. "parent_id": {
  5. "type": "my_child",
  6. "id": "1"
  7. }
  8. }
  9. }

参数

该查询需要两个必须的参数:

type:子文档类型,声明在 join 字段中的值;

id:父文档的 ID;

ignore_unmapped:设置为 true 时,它将忽略未映射的 type,并且将不匹配任何文档。当查询可能具有不同映射的多个索引时,此功能很有用。将其设置为 false(默认值),如果未映射 type,则查询将抛出异常。