Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/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
Class elasticsearch嵌套中的动态对象索引_Class_Object_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Dynamic_Nest - Fatal编程技术网 elasticsearch,dynamic,nest,Class,Object,elasticsearch,Dynamic,Nest" /> elasticsearch,dynamic,nest,Class,Object,elasticsearch,Dynamic,Nest" />

Class elasticsearch嵌套中的动态对象索引

Class elasticsearch嵌套中的动态对象索引,class,object,elasticsearch,dynamic,nest,Class,Object,elasticsearch,Dynamic,Nest,弹性搜索通常适用于预定义的类。如何使用动态类。 假设我想搜索一个特定的字段 var result = clientConnection.Search<**TicketData**>( s => s .Aggregations( a => a .DateRange( "L1", d => d .Field(p => p.timestamp) .Ranges( r => r.To(

弹性搜索通常适用于预定义的类。如何使用动态类。 假设我想搜索一个特定的字段

var result = clientConnection.Search<**TicketData**>(

s => s
.Aggregations(

a => a
    .DateRange(

"L1", d => d
        .Field(p => p.timestamp)
            .Ranges(
            r => r.To("2016-10-09T15:01:06+00:00"),
            r => r.From("2016-09-27T02:09:17+00:00")
        )
    )
)
);
var result=clientConnection.Search(
s=>s
.聚合(
a=>a
.日期范围(
“L1”,d=>d
.Field(p=>p.timestamp)
.范围(
r=>r.To(“2016-10-09T15:01:06+00:00”),
r=>r.From(“2016-09-27T02:09:17+00:00”)
)
)
)
);
这里必须预先定义ticketdata类。我们能吃点类似的吗

var result = clientConnection.Search<ANYDYNAMICCLASS>(s => s

.Aggregations(a => a

.DateRange("L1", d => d

.Field(p => p.timestamp)

           .Ranges(
            r => r.To("2016-10-09T15:01:06+00:00"),
            r => r.From("2016-09-27T02:09:17+00:00")
        )
    )
)
);
var result=clientConnection.Search(s=>s
.聚合(a=>a
.DateRange(“L1”,d=>d
.Field(p=>p.timestamp)
.范围(
r=>r.To(“2016-10-09T15:01:06+00:00”),
r=>r.From(“2016-09-27T02:09:17+00:00”)
)
)
)
);

动态类/动态对象是否可以使用此功能?请举例说明如何做到这一点。

Elasticsearch可用于JSON文档,它与C#POCO无关。然而,对于像C#这样的强类型语言,将Elasticsearch中的文档建模为应用程序中的POCO是很有意义的,但您不必这样做

例如,我们可以使用
dynamic
作为要搜索的文档类型,并使用
.Index()
.type()
方法分别指定索引和类型

var result = client.Search<dynamic>(s => s
    .Index("index-name")
    .Type("type-name")
    .Aggregations(a => a
        .DateRange("L1", d => d
            .Field("timestamp")
            .Ranges(
                r => r.To("2016-10-09T15:01:06+00:00"),
                r => r.From("2016-09-27T02:09:17+00:00")
            )
        )
    )
var result=client.Search(s=>s
.索引(“索引名称”)
.Type(“类型名称”)
.聚合(a=>a
.DateRange(“L1”,d=>d
.Field(“时间戳”)
.范围(
r=>r.To(“2016-10-09T15:01:06+00:00”),
r=>r.From(“2016-09-27T02:09:17+00:00”)
)
)
)
))

您还可以通过客户端上的
.LowLevel
属性直接使用Elasticsearch.Net,也可以使用流、字节或字符串