在Elasticsearch中“映射”是做什么的?

时间:2019-04-17 08:40:22

标签: elasticsearch elasticsearch-5

我刚刚开始学习Elasticsearch。我正在尝试创建索引,添加数据,删除数据和搜索数据。 我也可以理解Elasticsearch的设置。

使用“ PUT”以使用设置

{
"settings": {
"index.number_of_shards" : 1,
"index.number_of_replicas" : 0
 }
}

使用“ GET”获取设置信息时

{
"dsm" : {
"settings" : {
  "index" : {
    "creation_date" : "1555487684262",
    "number_of_shards" : "1",
    "number_of_replicas" : "0",
    "uuid" : "qsSr69OdTuugP2DUwrMh4g",
    "version" : {
      "created" : "7000099"
    },
    "provided_name" : "dsm"
  }
}
}
}

但是

  

Elasticsearch中的“映射”有什么作用?

{
  "kibana_sample_data_flights" : {
"aliases" : { },
"mappings" : {
  "properties" : {
    "AvgTicketPrice" : {
      "type" : "float"
    },
    "Cancelled" : {
      "type" : "boolean"
    },
    "Carrier" : {
      "type" : "keyword"
    },
    "Dest" : {
      "type" : "keyword"
    },
    "DestAirportID" : {
      "type" : "keyword"
    },
    "DestCityName" : {

    },  // just part of data

2 个答案:

答案 0 :(得分:3)

映射文档是描述数据结构和定义类型(例如布尔,文本,关键字)的一种方式。这些类型很重要,因为它们决定了如何对字段进行索引和分析。

Elasticsearch支持动态映射,因此可以有效地自动猜测适当的类型,但是您可能希望覆盖这些类型。

我发现这是解释映射过程的有用文章: https://www.elastic.co/blog/found-elasticsearch-mapping-introduction

索引由字段类型决定,例如,如果类型为“关键字”,则搜索引擎将期望完全匹配;当类型为“文本”时,搜索引擎将尝试确定文档与关键字之间的匹配程度。查询字词,这样做将执行“全文搜索”。

例如: -搜索跳跃也应该匹配跳跃,跳跃,跳跃甚至跳跃。

这是一篇很棒的文章,描述了精确搜索还是全文搜索,也是我举跳转示例的地方:https://www.elastic.co/guide/en/elasticsearch/guide/current/_exact_values_versus_full_text.html

elasticsearch的大部分功能都在映射和分析中。

答案 1 :(得分:1)

它是索引的映射。这意味着它描述了存储在该索引中的数据。深入了解here