Elasticsearch重建索引

2021-12-30 07:56:35 字數 989 閱讀 7122

乙個 field 的設定是不能修改的,如果要修改乙個 field,那麼應該重新按照新的mapping,建立乙個index,然後將資料批量查詢出來,重新用 bulk api 寫入到新的index中。

批量查詢的時候,建議採用scroll api,並且採用多執行緒併發的方式來reindex資料,每次scroll就查詢指定日期扽一段資料,交給乙個執行緒即可。

//建立乙個索引並寫入一條資料,根據資料動態建立mapping,content型別設為date

put /index1/type1/4

//查詢資料

get /index1/type1/_search

//檢視mapping

get /index1/type1/_mapping

//下面的put報錯,因為前面的寫入,動態設定了mapping中content被設定為date型別

put /index1/type1/4

//修改content的型別為string,報錯,mapping一旦設定將不能修改

put /index1/_mapping/type1

}}//通過下面的方案,解決上面的問題

//建立乙個新的索引,把index1索引中資料查詢出來匯入到新的索引中

//但是應用程式使用的是之前的索引,為了不用重啟應用程式,給index1這個索引起個別名

put /index1/_alias/index2

//建立新的索引,把content的型別改為字串

put /newindex}}

}}//使用scroll批量查詢

get /index1/type1/_searchscroll=1m

},"sort": ,

"size": 2

}//使用bulk批量寫入新的索引

post /_bulk

}//將別名index2和新索引關聯,應用程式不用重啟

post /_aliases},}

]}get index2/type2/_search

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 再比如 等。下面對其...