Elasticsearch欄位類型詳解

一、text

text類型是最常用的類型之一,用於存儲文本內容。文本內容可以分詞,也就是說,輸入的文本會被自動分詞成多個單詞,方便後續的搜索和匹配。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "message": {
        "type": "text"
      }
    }
  }
}

可以看到,要使用text類型,只需要在欄位映射中設置type為text即可。下面是text類型的一些配置選項:

1、analyzer

analyzer決定了分析器的種類,常用的分析器包括standard、english、chinese等。默認情況下,使用的是standard分析器。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "message": {
        "type": "text",
        "analyzer": "english"
      }
    }
  }
}

2、fielddata

fielddata表示是否需要對該欄位進行聚合和排序等操作。默認情況下,text類型不支持fielddata,需要手動開啟。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "message": {
        "type": "text",
        "fielddata": true
      }
    }
  }
}

二、keyword

keyword類型用於存儲關鍵詞,不進行分詞。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "tags": {
        "type": "keyword"
      }
    }
  }
}

與text類型不同,keyword類型不支持analyzer和fielddata選項。但是,可以通過設置ignore_above選項來限制關鍵詞的長度。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "tags": {
        "type": "keyword",
        "ignore_above": 256
      }
    }
  }
}

三、date

date類型用於存儲日期,支持多種日期格式。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "timestamp": {
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss"
      }
    }
  }
}

date類型也支持其他的配置選項,如timezone、locale等。

四、integer

integer類型用於存儲整數。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "count": {
        "type": "integer"
      }
    }
  }
}

integer類型也支持其他的配置選項,如coerce、ignore_malformed等。

五、float

float類型用於存儲浮點數。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "price": {
        "type": "float"
      }
    }
  }
}

float類型也支持其他的配置選項,如coerce、ignore_malformed等。

六、boolean

boolean類型用於存儲布爾值。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "available": {
        "type": "boolean"
      }
    }
  }
}

boolean類型也支持其他的配置選項,如null_value等。

七、geo_point

geo_point類型用於存儲經緯度信息,可以用來做地理位置搜索。下面是一個示例代碼:

PUT my_index
{
  "mappings": {
    "properties": {
      "location": {
        "type": "geo_point"
      }
    }
  }
}

geo_point類型也支持其他的配置選項,如geohash、geohash_prefix、geohash_precision等。

原創文章,作者:UEQDX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370288.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
UEQDX的頭像UEQDX
上一篇 2025-04-20 13:09
下一篇 2025-04-20 13:09

相關推薦

  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • Python中的Bool類型判斷

    本篇文章旨在講解Python中的Bool類型判斷。在Python中,Bool類型是經常使用的一種類型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    編程 2025-04-29
  • Python函數類型有哪些

    本文將從以下幾個方面詳細闡述Python函數類型。 一、內置函數 Python的內置函數是指在Python編程語言中提供的可以直接使用的函數,不需要通過導入模塊等方式引入。 部分常…

    編程 2025-04-29
  • Python中的整數類型int類總覽

    本文將從多個方面,對Python中的整數類型int類進行全面介紹和闡述。 一、數據類型及基本操作 在Python中,整數類型的數據類型為int。在Python3.x中,整數類型的范…

    編程 2025-04-28
  • Python變數類型用法介紹

    Python是一種解釋型編程語言,它提供了豐富的數據類型,包括數字、字元串、列表、元組、集合、字典等。Python變數類型的定義是Python程序開發的基礎,本文將從以下幾個方面對…

    編程 2025-04-28
  • Python查詢變數類型的函數

    本文將從多個方面詳細闡述Python中查詢變數類型的函數,主要包括以下幾點: 一、type()函數 type()函數是Python內置的函數,用於查詢變數的類型。它的使用非常簡單,…

    編程 2025-04-28
  • Python語言列表中的元素類型可以不相同

    Python語言的列表是一種有序的集合,可以包含任意數量和任意類型的Python對象,包括數字、字元串甚至是其他列表對象,這樣的特性稱為Python語言列表中的元素類型可以不相同。…

    編程 2025-04-28
  • 為什麼Python函數定義中沒有對參數指定類型?

    Python是一種強類型語言,也就是說語言本身會強制要求變數的類型。但是在Python函數定義中,卻沒有要求對參數指定類型。這是為什麼呢? 一、簡化函數定義 Python語言簡單明…

    編程 2025-04-28

發表回復

登錄後才能評論