- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从包含时间戳的kibana_sample_data_flights索引获取一组数据。运行查询时,ElasticSearch可以正确识别它并返回结果,但是会崩溃
invalid datetime format. value:2019-06-03T
Elasticsearch.Net.Utf8Json.Formatters.ISO8601DateTimeFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
{
"name" : "M79539",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "CxG9dTeSTsudlhJBGiVmJQ",
"version" : {
"number" : "7.1.0",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "606a173",
"build_date" : "2019-05-16T00:43:15.323135Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
class Program
{
static void Main(string[] args)
{
//Kibana: http://m79539:5601/app/kibana#/home?_g=()
// NEST
var settings = new ConnectionSettings(new Uri("http://m79539:9200/"))
.DefaultIndex("kibana_sample_data_flights")
.DefaultFieldNameInferrer(p => p);
var client = new ElasticClient(settings);
var scrollTimeout = "5m";
var scrollSize = 1000;
var initialResponse = client.Search<FlightDetail>(s => s
.From(0).Take(scrollSize)
.Query(q => +q
.DateRange(r => r
.Field(f => f.Timestamp)
.GreaterThan(DateMath.Anchored(new DateTime(2019,06,01)))
.LessThan(DateMath.Now)) && +!q
.Term(p => p.FlightNum, "59H86EL")
)
.Scroll(scrollTimeout)
//scroll is optimized for this sort and we will sort in our own code
.Sort(ss => ss.Ascending(SortSpecialField.DocumentIndexOrder))
);
var results = new List<FlightDetail>();
if (!initialResponse.IsValid || string.IsNullOrEmpty(initialResponse.ScrollId))
throw new Exception(initialResponse.ServerError.Error.Reason);
if (initialResponse.Documents.Any())
results.AddRange(initialResponse.Documents);
string scrollid = initialResponse.ScrollId;
bool isScrollSetHasData = true;
while (isScrollSetHasData)
{
ISearchResponse<FlightDetail> loopingResponse = client.Scroll<FlightDetail>(scrollTimeout, scrollid);
if (loopingResponse.IsValid)
{
results.AddRange(loopingResponse.Documents);
scrollid = loopingResponse.ScrollId;
}
isScrollSetHasData = loopingResponse.Documents.Any();
}
client.ClearScroll(new ClearScrollRequest(scrollid));
foreach (var result in results){
Console.WriteLine($"{result.Timestamp} | {result.FlightNum} | {result.FlightDelayMin}");
}
}
}
public class FlightDetail
{
public string FlightNum { get; set; }
public int FlightDelayMin { get; set; }
public object Source { get; set; }
[Nest.Text(Name = "timestamp")]
public DateTime Timestamp { get; set; }
}
{
"_scroll_id": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAANizsWaTdsY3ViS2hUR2FyRHZESmdKeVRWZw==",
"took": 1,
"timed_out": false,
"terminated_early": true,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 9227,
"relation": "eq"
},
"max_score": null,
"hits": [{
"_index": "kibana_sample_data_flights",
"_type": "_doc",
"_id": "1Lr3DmsBoDCXrrhScXCk",
"_score": null,
"_source": {
"FlightNum": "86C3GQY",
"DestCountry": "MX",
"OriginWeather": "Sunny",
"OriginCityName": "Rome",
"AvgTicketPrice": 395.9230418749486,
"DistanceMiles": 6362.054220749258,
"FlightDelay": false,
"DestWeather": "Damaging Wind",
"Dest": "Licenciado Benito Juarez International Airport",
"FlightDelayType": "No Delay",
"OriginCountry": "IT",
"dayOfWeek": 0,
"DistanceKilometers": 10238.733787837495,
"timestamp": "2019-06-03T",
"DestLocation": {
"lat": "19.4363",
"lon": "-99.072098"
},
"DestAirportID": "AICM",
"Carrier": "JetBeats",
"Cancelled": false,
"FlightTimeMin": 602.2784581080879,
"Origin": "Leonardo da Vinci - Fiumicino Airport",
"OriginLocation": {
"lat": "41.8002778",
"lon": "12.2388889"
},
"DestRegion": "MX-DIF",
"OriginAirportID": "FCO",
"OriginRegion": "SE-BD",
"DestCityName": "Mexico City",
"FlightTimeHour": 10.037974301801464,
"FlightDelayMin": 0
},
"sort": [4379]
}]
}
}
private static void SimpleSample()
{
var client = new ElasticClient(new Uri("http://m79539:9200"));
for (var i = 0; ; i++)
{
try
{
var results = client.Search<SampleData>(s => s
.Index("kibana_sample_data_flights")
.From(i * 10)
.Query(q => q.MatchAll()));
foreach (var document in results.Documents)
{
Console.WriteLine(document.Timestamp.ToString("f") + "|" + document.FlightNum);
}
}
catch (Elasticsearch.Net.UnexpectedElasticsearchClientException ex)
{
Console.WriteLine(ex.Message);
}
}
}
private class SampleData
{
public DateTime Timestamp { get; set; }
[Nest.Text(Name = "FlightNum")]
public string FlightNum { get; set; }
}
最佳答案
这是示例应用程序,可以从kibana_sample_data_flights索引中检索时间戳数据。
class Program
{
static void Main(string[] args)
{
var client = new ElasticClient(new Uri("http://localhost:9200"));
var results = client.Search<SampleData>(s => s
.Index("kibana_sample_data_flights").Query(q => q.MatchAll()));
foreach (var document in results.Documents)
{
Console.WriteLine(document.Timestamp.ToString("f"));
}
}
}
internal class SampleData
{
public DateTime Timestamp { get; set; }
}
Monday, 17 June 2019 00:00
Monday, 17 June 2019 18:27
Monday, 17 June 2019 17:11
Monday, 17 June 2019 10:33
Monday, 17 June 2019 05:13
Monday, 17 June 2019 01:43
Monday, 17 June 2019 13:49
Monday, 17 June 2019 04:54
Monday, 17 June 2019 12:09
Monday, 17 June 2019 12:09
Timestamp
映射到索引的字段
timestamp
。
1Lr3DmsBoDCXrrhScXCk
z和值为“timestamp”的文档的不正确日期值的问题:“2019-06-03T”,`。
ConnectionSettings
对象时通过自定义序列化来处理错误,并在遇到错误时继续处理:
var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
var connectionSettings =
new ConnectionSettings(pool,
sourceSerializer: (builtin, settings) => new JsonNetSerializer(
builtin, settings,
() => new JsonSerializerSettings {Error = HandlerError}
));
var client = new ElasticClient(connectionSettings);
private static void HandlerError(object sender, ErrorEventArgs e)
{
//handle error the way you like
e.ErrorContext.Handled = true;
}
..
Wednesday, 19 June 2019 21:39
Thursday, 20 June 2019 04:47
Thursday, 20 June 2019 21:51
Thursday, 20 June 2019 02:27
..
关于elasticsearch - ElasticSearch.Net无法识别ElasticSearch返回的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808861/
创建使用.NET框架的asp.net页面时,访问该页面的客户端是否需要在其计算机上安装.NET框架? IE。用户访问www.fakesite.com/default.aspx,如果他们没有安装框架,他
我阅读了很多不同的博客和 StackOverflow 问题,试图找到我的问题的答案,但最后我找不到任何东西,所以我想自己问这个问题。 我正在构建一个应用程序,其中有一个长时间运行的工作线程,它执行一些
已锁定。这个问题及其答案是locked因为这个问题是题外话,但却具有历史意义。目前不接受新的答案或互动。 我一直想知道为什么微软为这样一个伟大的平台选择了一个如此奇怪的、对搜索引擎不友好的名称。他们就
.Net Framework .Net .NET Standard的区别 1、.NET Framework 在未来.NET Framework或许成为过去时,目前还是有很多地方在使用的。这一套
如果有选择的话,您会走哪条路? ASP.NET Webforms + ASP.NET AJAX 或 ASP.NET MVC + JavaScript Framework of your Choice
我有一个 Web 服务,它通过专用连接通过 https 使用第三方 Web 服务,我应用了 ServicePointManager.ServerCertificateValidationCallbac
为什么我应该选择ASP.NET Web Application (.NET Framework)而不是ASP.NET Core Web Application (.NET Framework)? 我在
我在网络上没有找到任何关于包含 .NET Standard、.NET Core 和 .NET Framework 项目的 .NET 解决方案的公认命名约定。 就我而言,我们在 .NET 框架项目中有以
.NET Compact 是 .NET 的完美子集吗? 假设我考虑了屏幕大小和其他限制并避免了 .NET Compact 不支持的类和方法,或者 .NET Compact 是一个不同且不兼容的 GUI
我已经阅读了所有我能找到的关于 connectionManagement 中的 maxconnection 设置的文章:即 http://support.microsoft.com/kb/821268
我现在正在使用asp.net mvc,想知道使用内置的Json或 Json.Net哪个是更好的选择,但我不确定一个人是否比另一个人有优势。 另外,如果我确实选择沿用Json.Net的路线,那么我应该选
在 Visual Studio 中,您至少可以创建三种不同类型的类库: 类库(.NET Framework) 类库(.NET 标准) 类库(.NET Core) 虽然第一个是我们多年来一直使用的,但我
.NET 和 ASP.NET 之间有什么区别?它们有什么关系? 最佳答案 ASP.Net 基于 .Net 框架构建,提供有关 Web 开发的附加功能。 你可以去看看wikipedia article
在安装更高版本(3.0)之前,我需要安装.net框架1.1和2.0吗?或者单独安装 3.0 框架就足够了,并为在早期框架版本上编写的软件提供支持?谢谢 ,丽然 最佳答案 不,您不必安装以前的框架。 我
我正在开发一个项目,人们可以“更新”类别,例如更改类别的名称。我收到以下消息 This is called after clicking update 按钮 with the SQL statemen
.NET 类 System.Net.CookieContainer 线程安全吗? --更新:交 key 答复-- 是否有任何方法可以确保异步请求期间修改的变量(即 HttpWebRequest.Coo
我正在使用 JScript.NET 在我编写的 C# WinForms 应用程序中编写脚本。它工作得很好,但我只是尝试在脚本中放置一些异常处理,但我无法弄清楚如何判断我的 C# 代码抛出了哪种类型的异
我需要你的帮助, 比如我有一个小数类型的变量,我想这样取整。 例如 3.0 = 3 3.1 = 4 3.2 = 4 3.3 = 4 3.4 = 4 3.5 = 4 3.6 = 4 3.7 = 4 3.
我使用过这样的代码:http://msdn.microsoft.com/en-us/library/dw70f090.aspx在 ASP.NET 中工作之前访问数据库(2-3 年前)。我没有意识到我正
自 ConfigurationManager .NET Standard 中不存在,检索正在执行的程序集的应用程序设置的最佳方法是什么,无论是 web.config或 appSettings.{env
我是一名优秀的程序员,十分优秀!