elasticsearch - 如何在 elasticsearch 中对 _id 进行通配符或正则表达式匹配?

标签 elasticsearch

我想应用下面的示例 elasticsearch 数据 wildcard_id 上说 *.000ANT.* 以获取其 _id 包含 000ANT 的所有文档。请帮忙。

"hits": [
  {
    "_index": "data_collector",
    "_type": "agents",
    "_id": "Org000LAN_example1.com",
    "_score": 1,
    "fields": {
      "host": [
        "example1.com"
      ]
    }
  },
  {
    "_index": "data_collector",
    "_type": "agents",
    "_id": "000BAN_example2.com",
    "_score": 1,
    "fields": {
      "host": [
        "example2.com"
      ]
    }
  },
  {
    "_index": "data_collector",
    "_type": "agents",
    "_id": "000ANT_example3.com",
    "_score": 1,
    "fields": {
      "host": [
        "example3.com"
      ]
    }
  }
]

最佳答案

这只是 Andrei Stefan 的 answer 的扩展

{
  "query": {
    "script": {
      "script": "doc['_id'][0].indexOf('000ANT') > -1"
    }
  }
}

注意:我不知道这种查询对性能的影响,这很可能是个坏主意。谨慎使用并尽可能避免使用。

关于elasticsearch - 如何在 elasticsearch 中对 _id 进行通配符或正则表达式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30844122/

相关文章:

amazon-web-services - 将日志发送到AWS ElasticSearch

elasticsearch - 新手关于Docker和Docker Elasticsearch镜像的一些问题

elasticsearch - Elasticsearch 文档存储

java - 为 elasticSearch 构建 GetRequest 类型的对象时出现问题

elasticsearch - ElasticSearch嵌套NumericRangeQuery使用列表中的最小值进行比较

c# - 使用 NEST 渗透

elasticsearch - 使用 Elasticsearch 在文档中查找最小值

elasticsearch - 如何在Elasticsearch中匹配以词组开头的字段

java - Elasticsearch 中多重匹配查询中的比较运算符

elasticsearch - 如何列出elasticsearch中所有可用的搜索模板?