Elasticsearch 模式對映之核心型別

2021-07-11 00:51:09 字數 1889 閱讀 1867

每個字段型別可以指定為elasticsearch中某個特定的核心型別。elasticsearch的核心型別如下:

1)字串型別

2)數值型別

3)日期型

4)布林型

5)二進位制型

首先介紹一下通用屬性。

index_name:該屬性是儲存在索引中的欄位名稱。如果未指定,則預設為字段定義的物件的名稱。通常忽略該屬性。

index:該屬性的取值可為analyzed或no,如果為analyzed,則該字段將被索引,因而是可以搜尋的;如果為no,則該字段不可被搜尋。預設值是analyzed。字串型的字段有乙個額外的選項--not_analyzed,意思是該字段會被索引但不需要分析。因此,該字段按原樣寫入索引,只有完全匹配的搜尋才能查到該字段。

store:該屬性的取值可以為yes或no,用於指定欄位的原始值是否存入索引。預設值是no,意味著不能在結果中返回欄位的原始值(沒有原始值也可以通過_source欄位返回原始值)

boost:該屬性預設為1。用於定義該字段在文件中的重要性,值越高表示該字段的取值越重要。

null_value:該屬性指定如果某字段在被索引的文件中不存在時應寫入何值。預設行為是忽略該欄位。

include_in_all:該屬性指定某欄位是否應被包含到_all欄位中。預設情況下,如果啟用_all欄位則包含所有的字段。

一、字串型

term_vector(詞向量):該屬性的取值可以為no(預設值)、yes、with_offsets、with_positions、with_positions_offsets。該屬性表示是否對該字段計算lucene詞向量,如果使用的是高亮則需要計算詞向量。

omit_norms:取值可以為true或false,預設是false,如果為true則禁用該字段的lucene norms計算,則不能使用索引時加權。

omit_term_freq_and_positions:該屬性的取值可為true或false,預設為false。若想建立索引時忽略詞頻和位置的計算,可將屬性設為true。(0.20版本以後開始棄用)

index_options:用於設定索引選項。可能的取值是docs(索引文件的數量)、freqs(索引的文件數量和詞頻)、positions(索引的文件數量、詞頻和單詞出現位置)。預設值是freqs(從0.20版本開始可用)。

analyzer:用於索引和搜尋的分析器名稱,預設是全域性定義的分析器。

index_analyzer:用於索引的分析器的名稱。

search_analyzer:用於處理作用在該字段的查詢的分析器的名稱。

ignore_above:欄位的最大長度,超出指定長度的部分會被忽略。如果只關心欄位的前n個字元,則該屬性非常有用。

二、數值型

precision_step:該屬性設定為字段的每個取值生成的項數。值越低則生成的項數越多,進行range查詢時就越快(但索引也會變大),預設值是4。

ignore_malformed:取值可以為true或false,預設值是false。若想要忽略格式錯誤的數值,則應該設定為true。

三、日期型

precision_step:該屬性設定為字段的每個取值生成的項數。值越低則生成的項數越多,進行range查詢時就越快(但索引也會變大),預設值是4。

ignore_malformed:取值可以為true或false,預設值是false。若想要忽略格式錯誤的數值,則應該設定為true。

四、布林型:取值為true或false

五、二進位制型(binary)

二進位製字段是指用base64來表示索引中儲存的二進位制資料,可用來儲存二進位制形式的資料,例如影象。預設情況下,該型別的字段只儲存不索引。二進位制型別只支援index_name屬性

elasticsearch配置詳解

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

誰在使用Elasticsearch

github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...

elasticsearch配置說明

elasticsearch.yml是elasticsearch主要的配置檔案,所有的配置都在這個檔案裡完成,一般情況下,預設的配置已經可以比較好地執行乙個集群了,但你也可以對其進行微調。在環境變數中的引數可以用來作為配置引數的值,比如配置檔案裡舉的乙個例子為 node.rack 再比如 等。下面對其...