本文介紹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...