- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有一个索引到Elasticsearch的JSON文档,如下所示:
"_source": {
"pid_no": 19321,
"aggregator_id": null,
"inet_family": "ipv4-unicast",
"origin_code": "igp",
"extended_community": null,
"atomic_aggregate": null,
"adv_type": "announce",
"local_preference": 250,
"med_metric": 0,
"time_stamp": 1447534931,
"net_mask": "23",
"prefix4_": {
"last": 222,
"first": 111
},
"counter_no": 69668,
"confederation_path": "",
"as_set": null,
GET /SNIP!/SNIP!/_search?routing=SNIP!
{
"query": {
"bool": {
"must": {
"query": {
"match_all": {}
}
},
"filter": {
"bool": {
"filter": [
{
"range": {
"local_preference": {
"gt": 150,
"lte": 250
}
}
},
>>> if i remove the filter below, matches the document.
>>> when i apply the filter, i get 0 hits
{
"and": [
{
"range": {
"prefix4_.first": {
"lte": 200
}
}
},
{
"range": {
"prefix4_.last": {
"gte": 200
}
}
}
]
}
]
}
}
}
}
}
{
"mappings": {
"_default_": {
"_all": { "enabled": False },
"dynamic": True,
"_routing": { "required": True },
"properties": {
"pid_no": { "type": "string", "index": "not_analyzed", "store": "no" },
"counter_no": { "type": "long", "store": "no" },
"time_stamp": { "type": "date", "format": "epoch_second", "store": "no" },
"host_name": { "type": "string", "index": "not_analyzed", "store": "no" },
"local_ip": { "type": "ip", "store": "no" },
"peer_ip": { "type": "ip", "store": "no" },
"local_asn": { "type": "string", "index": "not_analyzed", "store": "no" },
"peer_asn": { "type": "string", "index": "not_analyzed", "store": "no" },
"inet_family": { "type": "string", "index": "not_analyzed", "store": "no" },
"next_hop": { "type": "ip", "store": "no" },
"net_block": { "type": "string", "index": "analyzed", "store": "no" },
"as_path": { "type": "string", "index": "analyzed", "store": "no" },
"cluster_list": { "type": "string", "index": "not_analyzed", "store": "no" },
"confederation_path": { "type": "string", "index": "not_analyzed", "store": "no" },
"local_preference": { "type": "integer", "store": "no" },
"originator_ip": { "type": "ip", "store": "no" },
"origin_code": { "type": "string", "index": "not_analyzed", "store": "no" },
"community_note": { "type": "string", "index": "analyzed", "store": "no" },
"med_metric": { "type": "long", "store": "no" },
"atomic_aggregate": { "type": "boolean", "store": "no" },
"aggregator_id": { "type": "string", "index": "analyzed", "store": "no" },
"as_set": { "type": "string", "index": "analyzed", "store": "no" },
"extended_community": { "type": "string", "index": "not_analyzed", "store": "no" },
"adv_type": { "type": "string", "index": "not_analyzed", "store": "no" },
"prefix_": { "type": "string", "index": "not_analyzed", "store": "no" },
"net_mask": { "type": "integer", "store": "no" },
"prefix4_": {
"type": "nested",
"properties": {
"first": { "type": "integer", "store": "no" },
"last": { "type": "integer", "store": "no" }
}
},
"prefix6_": {
"type": "nested",
"properties": {
"lofirst": { "type": "long", "store": "no" },
"lolast": { "type": "long", "store": "no" },
"hifirst": { "type": "long", "store": "no" },
"hilast": { "type": "long", "store": "no" }
}
}
}
}
},
"settings" : {
"number_of_shards": 1,
"number_of_replicas": 0,
"index": {
"store.throttle.type": "none",
"memory.index_buffer_size": "20%",
"refresh_interval": "1m",
"merge.async": True,
"merge.scheduler.type": "concurrent",
"merge.policy.type": "log_byte_size",
"merge.policy.merge_factor": 15,
"cache.query.enable": True,
"cache.filter.type": "node",
"fielddata.cache.type": "node",
"cache.field.type": "soft"
}
}
}
最佳答案
Elasticsearch提供了多种映射嵌套文档的方式。您正在使用nested,该索引将嵌套文档索引为幕后的独立文档,因此查询它们需要使用nested query。
像您显示的那样,对嵌套JSON进行索引的最简单方法是使用object类型映射。这将允许您以期望的方式查询字段,但是Elasticsearch使层次结构扁平化,这对于您来说可能是 Not Acceptable 。
关于elasticsearch - 弹性:如何搜索嵌套字段? [不工作],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33714645/
我在 AWS Elastic beanstalk 上有一个 tomcat 应用程序,建议 here我正在使用环境属性设置与数据库的 jdbc 连接,此参数包括数据库的用户和密码。问题是,tomcat
经典的Elasticsearch不解析您的日期。也许我开始失明了。我不知道自己在做什么错,我的模板是: "datestamp": {
我想使用 flex 查询在Kibana中创建警报。我正在使用opendistro警报功能。我想检查最近10分钟内cpu.pct字段的所有值是否大于50,如果是,则发出警报。 { "size": 500
我正在使用Kibana中的警报功能,并且想检查字段的最后5个连续值是否超过阈值x,但是如果我在 flex 查询中使用过滤器,则会在前N个聚合之前应用该过滤器。 有没有一种方法可以使用其他选择器或方法在
我们的指数是超标准的。它是平坦的,并使用logstash从oracle / jdbc转储。 我们也使用相当标准的查询语法来查询 flex : { "size": 20, "from"
您好,我正在执行以下查询: { "_source": [ "source1", "source2", "source3", "source4", ], "q
请告诉我正确的方向:) 我有一个任务:通过查询以 flex 搜索方式查找文档,其中可能包含不必要的单词。 我将说明我的意思: 假设我有一些包含单词“ big red car ”的文档(现在它们在索引的
这是我的一份文件可能看起来像的 { "CC":{"colors":["Blue","Green","Yellow"]}, "CN":{"colors":["White"
语境 弹性 6.0.0 我有以下结构: { "age": 24, "blood": 450, "iv": 700, "job": "boss", "damage": "cut,
我可以使文档不可变吗?当文档提交到相同的 id 时,它们是否不会被重写? POST "localhost:9200/index001/_doc/1" // First time it is creat
我正在制作一个图形应用程序,我可以在其中通过拖动多段线的控制点来编辑多段线。但是,我想通过使其具有弹性来使其更易于使用;拖动控制点时,不是移动单个点,我希望也移动该点一定距离内的点,具体取决于“拉”控
我们都知道云计算拥有弹性扩展的特性,所谓的弹性,即云端的可用资源能够随着用户的需求而灵活变化、自由升降,在业务高峰或低谷期,均能匹配适量的资源,既不捉襟见肘、也不过分浪费。弹性云服务器,简单地说,
我有一个索引,其中多个人可以通过他们的姓名+角色分配给一个文档。 到目前为止,我们通过将“人员”添加为嵌套文档并仅将所有相关人员索引到一个文档中来实现搜索。 我们对查询性能不满意,我想尝试从 "peo
我要执行2个不同的批量上传,每次上传的顺序都是完全无法预测的 在一次加载中,我将具有以下字段:SERVER_NAME,OS和PROD_1_VERSION在另一项中,我将具有以下字段:SERVER_NA
如果我有一个索引到Elasticsearch的JSON文档,如下所示: "_source": { "pid_no": 19321, "aggregator_id
我似乎无法按顺序排列 flex 查询的结果。 我将内存利用率统计信息存储在elasticsearch中。文档示例如下所示: { "Component": "ABC", "memUsage"
给定输入“快速的棕色狐狸跳”,我想为单词创建每种可能的 token 组合。因此,示例字符串将被标记为 [ "quick", "quick brown", "quick fox", "quick jum
我基本上是在尝试编写一个查询,它应该在哪里返回文档 学校是“神圣的国际”,成绩是“第二”。 但当前查询的问题在于它没有考虑必须匹配查询部分。即,即使我没有指定学校给我这份文件,因为它不匹配。 查询给了
我正在尝试在Kibana Canvas 中设置日期格式,因此我遵循了此文档: https://www.elastic.co/blog/kibana-canvas-data-table-and-debu
在用 Flex 编写 token 生成器时,我遇到了这个恼人的错误:“无法识别的规则” 我的代码是: /* Keywords */ TYPE int|double|bool|char L
我是一名优秀的程序员,十分优秀!