首页 > 解决方案 > 如何在elasticsearch中通过父母和孩子中的所有ID进行搜索?

问题描述

我有一个具有这种结构的 C# POCO:

public class Subject{
   public string Name{get; set;}
   public Guid Id{get; set;}
   public List<Subject> Subsubject{get; set;}
}

并将这些数据存储在 elasticsearch 中。如何使用我不知道是我的结构的哪个级别的 ID 的 GUID 值检索数据?

我需要搜索结构的所有 Id 字段。可能吗?如果答案是肯定的,怎么做?最好检索 id 的所有者,而不是整个对象。

{
  "Subject" : {
    "mappings" : {
      "properties" : {
        "id" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "subSubject" : {
          "properties" : {
            "id" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            },
            "subSubjects" : {
              "properties" : {
                "id" : {
                  "type" : "text",
                  "fields" : {
                    "keyword" : {
                      "type" : "keyword",
                      "ignore_above" : 256
                    }
                  }
                },
                "title" : {
                  "type" : "text",
                  "fields" : {
                    "keyword" : {
                      "type" : "keyword",
                      "ignore_above" : 256
                    }
                  }
                }
              }
            },
            "title" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            }
          }
        },
        "title" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        }
      }
    }
  }
}

标签: elasticsearchnest

解决方案


推荐阅读