一、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
微信掃一掃
支付寶掃一掃