ES maping 學習筆記

2021-09-02 15:01:09 字數 3474 閱讀 3161

一filed type(字段型別)

1. 核心資料型別:

string datatype

string

numeric datatypes

long, integer, short, byte, double, float

date datatype

date

預設format:"strict_date_optional_time||epoch_millis"是或的關係

epoch_millis:milliseconds-since-the-epoch   如:"2015-01-01t12:10:30z" 還可以是yyyy-mm-dd,yyyy-mm-dd mm:ss等等格式

例子:put my_index 

2、_source:

主要指的是source field欄位source可以理解為es除了將資料儲存在索引檔案中,另外還有一分源資料。_source欄位我在們進行檢索時相當重要,如果在情況下預設檢索只會返回id,你需通過fields欄位去倒索索引中去取資料,當然效率不是很高。如果覺得enabale:true時,索引的膨漲率比較大的情況下可以通過下面一些輔助設定進行優化:

不被indexed,該欄位不能被search,被stored

compress:是否進行壓縮,建議一般情況下將其設為true 

"includes" : ["author", "name"], 

"excludes" : ["***"] 

上面的includes和 excludes主要是針對預設情況下面_source一般是儲存全部bulk過去的資料,我們可以通過include,excludes在字段級別上做出一些限索。

3._index

4._type

5._id

_id值可用於query(),但是不能用於aggregation,script,或是sorting,這些情況應該用_uid代替

put my_index/my_type/1

put my_index/my_type/2

get my_index/_search 開關禁用它。如果某個域不希望被加到_all中,可以使用"include_in_all":false

例如:1.  

4.      "properties": ,  

14.               "last":   

18.            }  

19.         },  

20.         "address":   

31.                  }  

32.               },  

33.               "last":   

38.                  }  

39.               }  

40.            }  

41.         },  

42.         "******1": ,  

46.         "******2":   

50.      }  

51.   }  

52.}  

查詢時,_all和其它域一樣使用:

1. get /profiles/_search  

2.  

7.     }  

8. }  

或者在不提供搜尋域的情況下,缺省會搜尋_all,例如:

1. get /profiles/_search  

2.  

7.     }  

8. }  

在head外掛程式的混合查詢中  選get會查詢所有document資訊,query不起作用,用query要選post

8._field_names

用來索引document中包含除了null以外其他任何值的欄位名字

這個字段可用到exists和missing query中,用以查詢document中含有或是不含non-null值得特殊字段

put my_index/my_type/1

put my_index/my_type/1

get my_index/_search

put my_index/my_type/2 

"name":

7.ignore_above 

字串長度大於ignore_above設定的字段將不執行analyzer也不被index的。

主要用於not_analyzied的字串字段,,通常用作filtering,aggregation ,sorting

put my_index

put my_index/my_type/2 

put /my_index/my_type/2

get /my_index/_search #----3索引文件fox

put my_index/my_type/2

#---4索引文件foxes

get my_index/_search

關閉時間檢測:

put my_index

create 欄位已被新增為string型別

numeric檢測

put my_index

my_integer欄位對映成乙個integer

my_string 字段對映成乙個 analyzed string,和乙個  not_analyzed multi field

match  unmatch用以匹配欄位的名字

put my_index和

put my_index"   #--annlyzer 為匹配到的欄位名

"no_doc_values": ",   #--對映為自動對映到的型別

"doc_values": false                  }

put my_index/my_type/1{

"english": "some english text",  #--對映為string型別,analyzer:english

"count":   5 #--對映為long(自動對映)型別

4.覆蓋預設模板

put _template/disable_all_field{

"disable_all_field": {

"order": 0,      #--1

"_default_": { ##--定義預設type模板

"_all": { 

"enabled": false  ##--關閉_all

1.order引數功能,預設值為0,就是elasticsearch 在建立乙個索引的時候,如果發現這個索引同時匹配上了多個 template ,那麼就會先應用 order 數值小的 template 設定,然後再應用一遍 order 數值高的作為覆蓋,最終達到乙個 merge 的效果。

"order": 1,

"template": "logstash-*",

"settings": {

"number_of_shards": 10

學習筆記 雜湊學習筆記

hash基本原理 hash就是乙個像函式一樣的東西,你放進去乙個值,它給你輸出來乙個值。輸出的值就是hash值。一般hash值會比原來的值更好儲存 更小 或比較。那字串hash就非常好理解了。就是把字串轉換成乙個整數的函式。而且要盡量做到使字串對應唯一的hash值。它的主要思路是選取恰當的進製,可以...

學習筆記 CentOS 學習筆記01

簡單的做個課堂筆記 虛擬機器用的是vmware,系統是centos cd etc sysconfig network scripts pwdls 顯示列表 cat ifcfg eth0 檢視檔案內容 vi ifcfg eth0 進入vi編輯器 onboot no 原始設定 x逐字刪除 d刪除整行 a...

筆記 spring cloud 學習筆記

1 spring cloud 是什麼 spring cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具 例如配置管理,服務發現,斷路器,智慧型路由,微 控制匯流排 分布式系統的協調導致了樣板模式,使用spring cloud開發人員可以快速地支援實現這些模式的服務和應用程式。他們將在任...