Elasticsearch應用必備知識點

2021-09-28 14:43:49 字數 1758 閱讀 9575

本文介紹elasticsearch實際應用中常用的一些知識內容,包括資料型別介紹、動態模板等。

elasticsearch支援多種資料型別,常見核心型別包括:

string:text和keyword

numberic:scaled_float(需要指定scaling_factor為100,2.34,儲存為234)

date:date

boolean:boolean

數值型別示例:

put my_index

, "time_in_seconds": ,

"price":

}}}

上面定義了my_index中三個屬性,分別為整形、浮點型和scaling_factor型別。

下面看日期型別示例:

put my_index

}}}

因為日期型別會自動匹配,這裡明確了日期格式。

文字型別可以索引或不索引:

put my_index

}}}

put my_index}}

}}}

put my_index/_doc/1

put my_index/_doc/2

get my_index/_search

},"sort": ,

"aggs":

}}}

因為city欄位有索引,同時也保留city.raw為關鍵字,因此可以對該字段同時進行索引和排序。

elasticsearch預設中文分詞是對每個字進行分詞,一般需要使用第三方中文分詞外掛程式。這裡使用hanlp建立,其預設沒有啟用過濾停頓詞。

我們在建立索引時需在setting中設定啟動停頓詞:

「analysis」:

},「tokenizer」 : }}

獲取所有索引資訊,後面結果返回精簡版本。

get /_cat/indices?v

get /_cat/aliases?v

檢視具體某個索引的詳細內容:

下面示例定義動態模板,已知字段明確設定型別,未知字段通過動態模板進行指定:

put customer_info_index

},"tokenizer" : }}

},"properties": , # 公司名稱

"id_type": , # 證件型別

"id_code": , # 證件號碼

"create_dept": ,

"create_date": ,

"flag":

},"dynamic_date_formats": ["yyyy-mm-dd hh:mm:ss","yyyy-mm-dd"],

"dynamic_templates": [}},

}},}}

]}

}

檢索結果應該是分頁返回,可以通過分頁引數from和size進行指定,也可以在查詢體內設定:

get /_search

}}

但from+size不能超過index.max_result_window設定值,預設為10000.實際應用中可以讓使用者僅選擇前20頁。

簡單彙總elasticsearch資料型別、動態模板等幾個知識點,並通過示例進行說明,希望對你有點幫助。

ElasticSearch 應用場景

主要分為如下幾點 1.站內搜尋 主要和 solr 競爭,屬於後起之秀。2.nosql json文件資料庫 主要搶占 mongo 的市場,它在讀寫效能上優於 mongo 同時也支援地理位置查詢,還方便地理位置和文字混合查詢。3.監控 統計 日誌類時間序的資料儲存和分析 視覺化,這方面是引領者。4.國外...

Elasticsearch應用必備知識點

本文介紹elasticsearch實際應用中常用的一些知識內容,包括資料型別介紹 動態模板等。elasticsearch支援多種資料型別,常見核心型別包括 string text和keyword numberic scaled float 需要指定scaling factor為100,2.34,儲存...

elasticsearch配置詳解

elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...