在Elasticsearch中添加字段的詳細(xì)步驟
前言
當(dāng)使用Elasticsearch(ES)添加字段時(shí),通常會(huì)涉及到更新已有索引的映射(mapping),以確保新字段能夠被正確地索引和搜索。下面是如何通過ES的API來更新索引映射并添加一個(gè)新字段的詳細(xì)步驟:
1. 確認(rèn)索引存在
首先,確保你要更新映射的索引已經(jīng)存在。如果索引不存在,你需要先創(chuàng)建索引。
PUT /yuanmei_images
2. 更新索引映射
使用PUT
請(qǐng)求來更新索引的映射。假設(shè)現(xiàn)在要給yuanmei_images
索引添加一個(gè)名為versionId
的新字段,類型為long
。這可以通過以下方式完成:
PUT /yuanmei_images/_mapping { "properties": { "versionId": { "type": "long" } } }
在上面的請(qǐng)求中:
PUT /yuanmei_images/_mapping
:指定要更新映射的索引和類型。"properties"
:定義索引中的屬性。"versionId"
:新字段的名稱。"type": "long"
:指定字段的數(shù)據(jù)類型為長整型。
3. 確認(rèn)映射更新成功
發(fā)送上述請(qǐng)求后,Elasticsearch會(huì)返回一個(gè)確認(rèn)消息,告知映射已成功更新。你可以根據(jù)返回的響應(yīng)來驗(yàn)證是否添加字段的操作已經(jīng)生效。
注意事項(xiàng)
- 字段類型和映射設(shè)計(jì):在更新映射時(shí),確保字段類型和索引的需求一致。錯(cuò)誤的映射可能導(dǎo)致數(shù)據(jù)不正確地索引或搜索。
- 索引健康狀態(tài):更新映射可能會(huì)影響索引的健康狀態(tài),尤其是在生產(chǎn)環(huán)境中。建議在低峰期進(jìn)行此類操作,并備份重要數(shù)據(jù)。
示例應(yīng)用
假設(shè)你有一個(gè)圖像索引yuanmei_images
,原本只包含圖像的基本信息,如路徑、創(chuàng)建日期等?,F(xiàn)在,你想要添加一個(gè)字段來記錄每個(gè)圖像的版本號(hào)(versionId
)。通過上述步驟,你可以輕松地將新字段添加到現(xiàn)有的Elasticsearch索引中,以便更好地管理和分析數(shù)據(jù)。
這種能力使得Elasticsearch成為處理大量文檔和復(fù)雜數(shù)據(jù)結(jié)構(gòu)的理想選擇,無論是對(duì)于實(shí)時(shí)搜索、分析還是日志處理。
附:Elasticsearch刪除索引中的字段
- 原索引mappings如下,有full_name和short_name兩個(gè)字段
{ "audit_demo": { "mappings": { "_doc": { "properties": { "full_name": { "type": "text", "analyzer": "ik_max_word" }, "short_name": { "type": "keyword" } } } } } }
- 想要?jiǎng)h掉short_name字段,修改后mappings如下
{ "audit_demo_bak": { "mappings": { "_doc": { "properties": { "full_name": { "type": "text", "analyzer": "ik_max_word" } } } } } }
- 刪除原索引中待刪除字段的數(shù)據(jù)
POST /audit_demo/_update_by_query { "script": { "lang": "painless", "inline": "ctx._source.remove(\"short_name\")" }, "query": { "match_all": {} } }
注意:
只是刪除數(shù)據(jù),不是刪除字段
如果不刪除字段數(shù)據(jù),后面reindex時(shí)依然會(huì)把待刪除字段的值帶到新索引,即使設(shè)置新索引的dynamic為false
總結(jié)
到此這篇關(guān)于在Elasticsearch中添加字段的文章就介紹到這了,更多相關(guān)Elasticsearch添加字段內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實(shí)現(xiàn)
這篇文章主要介紹了使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03SpringBoot @ControllerAdvice 攔截異常并統(tǒng)一處理
這篇文章主要介紹了SpringBoot @ControllerAdvice 攔截異常并統(tǒng)一處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09在Eclipse中運(yùn)行Solr 基礎(chǔ)知識(shí)
Solr我還是個(gè)菜鳥,寫這一些文章只是記錄一下最近一段時(shí)間學(xué)習(xí)Solr的心得,望各位同仁不要見笑,還希望多多指點(diǎn)2012-11-11SpringBoot集成JWT實(shí)現(xiàn)token驗(yàn)證的流程
Json web token (JWT), 是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn)((RFC 7519).這篇文章主要介紹了SpringBoot集成JWT實(shí)現(xiàn)token驗(yàn)證,需要的朋友可以參考下2020-01-01JDBC 實(shí)現(xiàn)通用的增刪改查基礎(chǔ)類方法
下面小編就為大家分享一篇JDBC 實(shí)現(xiàn)通用的增刪改查基礎(chǔ)類方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01Java源碼解析之Gateway請(qǐng)求轉(zhuǎn)發(fā)
今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著Gateway請(qǐng)求轉(zhuǎn)發(fā)展開,文中有非常詳細(xì)介紹及代碼示例,需要的朋友可以參考下2021-06-06啟用設(shè)置org.slf4j.Logger打印并輸出日志方式
這篇文章主要介紹了啟用設(shè)置org.slf4j.Logger打印并輸出日志方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Java實(shí)現(xiàn)基于token認(rèn)證的方法示例
這篇文章主要介紹了Java實(shí)現(xiàn)基于token認(rèn)證的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08