[英]Indexing dynamic objects in elasticsearch nest
彈性搜索通常適用於預定義的類。 我如何使用動態類。 例如:假設我想搜索一個特定的字段
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")
)
)
)
);
在這里,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")
)
)
)
);
動態類/動態對象可以與此一起工作嗎? 請舉一個例子。
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")
)
)
)
);
您還可以直接通過客戶端上的.LowLevel
屬性使用Elasticsearch.Net,還可以使用流,字節或字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.