【问题标题】:Elasticsearch get field mapping for all fields without using asterisk (*)Elasticsearch 在不使用星号 (*) 的情况下获取所有字段的字段映射
【发布时间】:2015-10-28 14:38:27
【问题描述】:

要获取索引中所有字段的映射,我这样做:

获取http://localhost:9200/some_awesome_index/_mapping/field/*

但我不想使用 *.有没有其他方法可以在不使用 * 的情况下获得相同的结果?我有动态字段,所以我不能使用逗号分隔的每个字段的列表(不必使用 *)。

【问题讨论】:

  • 你为什么不想使用 *?
  • @eemp 因为请求通过的代理不允许在 URL 中使用 *。
  • 您的索引中有几种类型还是只有一种?

标签: elasticsearch


【解决方案1】:

如果要获取索引中所有类型的所有字段的映射,请使用

GET /index name/_mapping

如果要获取索引中单一类型的所有字段的映射,请使用

GET/索引名称/类型名称/_mapping

【讨论】:

  • 我知道那些获取映射,但是您给出的两个示例的结果格式与在 URL 中包含 /field/ 不同。我希望在结果中获得与我上面使用的相同的格式。不过还是谢谢。 :)
  • 我觉得它为您提供了一个非常精确的映射结构。如果您满意,请采纳答案。 :-)
  • 当我要求“相同的结果”时,我的问题可能含糊不清,但我的意思是我想要使用 /field/ 时获得的相同格式/结构的响应。我已经尝试过您建议的方法,但不想使用这些方法,因为响应的格式/结构不同。我希望有类似_all 的东西可以用来代替*,但我还没有找到任何东西。
  • 是的。 _all 不起作用。让我知道您是否找到了除上述方法之外的其他方法。我猜文档说不。 :(
猜你喜欢
  • 2020-12-02
  • 2018-06-21
  • 1970-01-01
  • 1970-01-01
  • 2022-06-15
  • 2017-10-13
  • 2016-04-23
  • 1970-01-01
  • 2012-08-31
相关资源
最近更新 更多