Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nest elasticsearch嵌套通配符字段_Nest_<img Src="//i.stack.imgur.com/A3TTx.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch Net - Fatal编程技术网 elasticsearch-net,Nest,elasticsearch Net" /> elasticsearch-net,Nest,elasticsearch Net" />

Nest elasticsearch嵌套通配符字段

Nest elasticsearch嵌套通配符字段,nest,elasticsearch-net,Nest,elasticsearch Net,有没有办法让嵌套支持通配符字段。比如说 我有一门课是这样的: public class SearchDocument { public string Id { get; set; } public string Symbol { get; set; } public IList<DisorderData> Disorders { get; set; } } public class DisorderData

有没有办法让嵌套支持通配符字段。比如说

我有一门课是这样的:

public class SearchDocument
    {
        public string Id { get; set; }
        public string Symbol { get; set; }
        public IList<DisorderData> Disorders { get; set; }
     }

    public class DisorderData
    {
        public string Name { get; set; }
        public string Category { get; set; }
    }
如果我在NEST中执行以下操作:

            client.Search<SearchDocument>(x => x
                .Query(q => q
                    .QueryString(qs => qs
                        .OnFields(document => document.Disorders)
                        .Query("cancer"))));
关于如何在野外使用通配符有什么想法吗


也许有一个类可以将属性名解析为字符串,然后我可以连接asterik

您可以使用
后缀
扩展名,将
和给定字符串(在本例中为
*
)附加到字段末尾:

client.Search<SearchDocument>(x => x
    .Query(q => q
        .QueryString(qs => qs
            .OnFields(document => document.Disorders.Suffix("*"))
            .Query("cancer"))));
client.Search(x=>x
.Query(q=>q
.QueryString(qs=>qs
.OnFields(document=>document.Disorders.后缀(“*”)
.查询(“癌症”);
另外,请记住,始终可以将字段名作为字符串而不是对象路径传递:

client.Search<SearchDocument>(x => x
    .Query(q => q
        .QueryString(qs => qs
            .OnFields(new string[] { "disorders.*" })
            .Query("cancer"))));
client.Search(x=>x
.Query(q=>q
.QueryString(qs=>qs
.OnFields(新字符串[]{“disorders.*})
.查询(“癌症”);
client.Search<SearchDocument>(x => x
    .Query(q => q
        .QueryString(qs => qs
            .OnFields(document => document.Disorders.Suffix("*"))
            .Query("cancer"))));
client.Search<SearchDocument>(x => x
    .Query(q => q
        .QueryString(qs => qs
            .OnFields(new string[] { "disorders.*" })
            .Query("cancer"))));