如何为特定类型执行ElasticSearch聚合?我意识到您可以在请求Url中指定索引和/或类型,但我想在两种不同的类型上执行聚合.
谢谢!
我有一个 ElasticSearch 类型,我希望为其动态设置映射。我想分析该类型上的一些选择字段,但其他所有字段都应设置为“not_analyzed”。
我想出了以下片段。这会将所有字符串字段设置为不进行分析,但不会涵盖所有其他数据类型。我尝试使用文档中显示的“通用”字段,但没有帮助。谁能告诉我如何才能做到这一点?
{
"TypeName": {
"dynamic_templates": [
{
"template_name": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"index": "no",
"type": "string"
}
}
}
],
"dynamic": true,
"properties": {
"url": {
"index": "analyzed",
"type": "string"
},
"resourceUrl": {
"index": "analyzed",
"type": "string"
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个从事件模式创建的可观察流,如下所示。
var keyspaceStream = Observable.FromEventPattern<RedisSubscriptionReceivedEventArgs>(
h => keyspaceMonitor.KeySpaceChanged += h,
h => keyspaceMonitor.KeySpaceChanged -= h);
Run Code Online (Sandbox Code Playgroud)
我想要做的是订阅流并在有 10 秒不活动(没有发生任何事件)或 100 个事件在没有执行该方法的情况下触发时执行一个方法。这是为了避免每 5 秒触发一次事件并且从不调用 onNext 方法的情况。
我怎样才能做到这一点?我知道如何做第一部分(见下文),但我不知道如何做计数逻辑。请注意,我已经知道如何订阅流。
var throttledStream = keyspaceStream.Throttle(TimeSpan.FromSeconds(10));
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激!谢谢你。
我有一个自定义对象,我希望将其存储在ElasticSearch中作为索引中自己的类型,但我不希望对象中的任何字段进行分析.我应该怎么做呢?
我一直在使用ElasticSearch NEST客户端,但也可以根据需要手动创建映射.