国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

(十)ElasticSearch高級(jí)使用【別名,重建索引,refresh操作,高亮查詢,查詢建議】

這篇具有很好參考價(jià)值的文章主要介紹了(十)ElasticSearch高級(jí)使用【別名,重建索引,refresh操作,高亮查詢,查詢建議】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.別名使用

1)別名作用

在開發(fā)中,隨著業(yè)務(wù)需求的迭代,較?的業(yè)務(wù)邏輯就要?臨更新甚?是重構(gòu),?對(duì)于es來(lái)說(shuō),為了
適應(yīng)新的業(yè)務(wù)邏輯,可能就要對(duì)原有的索引做?些修改,?如對(duì)某些字段做調(diào)整,甚?是重建索
引。?做這些操作的時(shí)候,可能會(huì)對(duì)業(yè)務(wù)造成影響,甚?是停機(jī)調(diào)整等問題。由此,es提供了索引
別名來(lái)解決這些問題。 索引別名就像?個(gè)快捷?式或是軟連接,可以指向?個(gè)或多個(gè)索引,也可
以給任意?個(gè)需要索引名的API來(lái)使?。別名的應(yīng)?為程序提供了極?地靈活性

2)別名使用

查詢

GET /_alias

創(chuàng)建別名

POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "my_data_index",
        "alias": "current_data"
      }
    }
  ]
}

刪除別名

POST /_aliases
{
  "actions": [
    {
      "remove": {
        "index": "my_data_index",
        "alias": "current_data"
      }
    }
  ]
}

2.重建索引

在 Elasticsearch 中,重建索引是一項(xiàng)重要的操作,通常用于更新或優(yōu)化現(xiàn)有索引。以下是有關(guān)如何執(zhí)行重建索引的一些建議和步驟:

1)備份數(shù)據(jù)

在執(zhí)行重建索引之前,確保你有原始索引的備份。這是因?yàn)橹亟ㄋ饕龝?huì)創(chuàng)建一個(gè)新的索引,然后將數(shù)據(jù)從舊索引復(fù)制到新索引。如果出現(xiàn)問題,你可以回滾到原始索引。

2)創(chuàng)建新索引

首先,你需要?jiǎng)?chuàng)建一個(gè)新的索引,用于存儲(chǔ)重新索引后的數(shù)據(jù)。你可以使用 Elasticsearch 的索引模板和設(shè)置來(lái)定義新索引的配置,確保它符合你的需求。

PUT /new_index
{
  "settings": {
    "number_of_shards": 5,
    "number_of_replicas": 1
  },
  "mappings": {
    "_doc": {
      "properties": {
        "field1": { "type": "text" },
        "field2": { "type": "keyword" }
      }
    }
  }
}

3)執(zhí)行重建

使用 Elasticsearch 的 Reindex API:這是一種安全的方法,它允許你從舊索引到新索引復(fù)制數(shù)據(jù),并提供了一些高級(jí)選項(xiàng)來(lái)處理數(shù)據(jù)轉(zhuǎn)換和過濾等任務(wù)。

POST /_reindex
{
  "source": {
    "index": "old_index"
  },
  "dest": {
    "index": "new_index"
  }
}

使用 Logstash 或其他 ETL 工具:如果你有復(fù)雜的數(shù)據(jù)轉(zhuǎn)換需求,可以考慮使用 Logstash 或其他 ETL(Extract, Transform, Load)工具來(lái)從舊索引導(dǎo)出數(shù)據(jù)并將其導(dǎo)入新索引

4)測(cè)試和驗(yàn)證

在執(zhí)行重建操作后,務(wù)必進(jìn)行測(cè)試和驗(yàn)證以確保新索引中的數(shù)據(jù)與舊索引中的數(shù)據(jù)一致。你可以執(zhí)行一些查詢和聚合操作,以驗(yàn)證數(shù)據(jù)的準(zhǔn)確性。

5)更新別名

一旦你驗(yàn)證了新索引中的數(shù)據(jù),可以更新別名,將其指向新索引,以便應(yīng)用程序可以開始使用新索引中的數(shù)據(jù)。

POST /_aliases
{
  "actions": [
    {
      "remove": {
        "index": "old_index",
        "alias": "my_alias"
      }
    },
    {
      "add": {
        "index": "new_index",
        "alias": "my_alias"
      }
    }
  ]
}

6)清理舊索引

一旦你確認(rèn)新索引正常工作,可以考慮刪除或歸檔舊索引,以釋放磁盤空間并減輕集群負(fù)載。

3.refresh操作

在 Elasticsearch 中,refresh 操作用于使新索引數(shù)據(jù)在搜索前立即可見。默認(rèn)情況下,Elasticsearch 具有自動(dòng)刷新機(jī)制,索引每秒自動(dòng)刷新一次,以使新的文檔和更改對(duì)搜索可見。

修改默認(rèn)更新時(shí)間(默認(rèn)時(shí)間是1s,-1為關(guān)閉)

PUT /star/_settings
{
 "index": {
 "refresh_interval": "5s"
 }
}

有時(shí)你可能需要手動(dòng)執(zhí)行 refresh 操作以確保最新的數(shù)據(jù)立即可用。

POST /my_index/_refresh

4.es高亮查詢

在執(zhí)行搜索查詢時(shí),你可以使用 highlight 參數(shù)來(lái)請(qǐng)求高亮信息。以下是一個(gè)簡(jiǎn)單的示例:

1)高亮查詢

GET /my_index/_search
{
  "query": {
    "match": {
      "content": "關(guān)鍵詞"
    }
  },
  "highlight": {
    "fields": {
      "content": {} // 高亮的字段
    }
  }
}

在上面的示例中,我們執(zhí)行了一個(gè)簡(jiǎn)單的全文搜索查詢,目標(biāo)是 content 字段中包含關(guān)鍵詞 “關(guān)鍵詞” 的文檔。高亮信息將包含在響應(yīng)中。

2)解析高亮結(jié)果

在查詢結(jié)果中,你將看到一個(gè)名為 highlight 的部分,它包含了高亮信息。你可以從中提取高亮的文本以及它們的位置。

"hits": {
  "total": 3,
  "hits": [
    {
      "_source": {
        "content": "這是包含關(guān)鍵詞的文本。"
      },
      "highlight": {
        "content": [
          "這是包含 <em>關(guān)鍵詞</em> 的文本。"
        ]
      }
    }
  ]
}

3)自定義高亮樣式

默認(rèn)情況下,高亮文本使用 標(biāo)簽標(biāo)記,但你可以根據(jù)需要自定義高亮的樣式。你可以在查詢中使用 pre_tags 和 post_tags 參數(shù)定義前綴和后綴標(biāo)簽。

"highlight": {
  "fields": {
    "content": {}
  },
  "pre_tags": ["<span class='highlight'>"],
  "post_tags": ["</span>"]
}

4.es查詢建議

Elasticsearch 提供了幾種不同類型的查詢建議器,包括 Term Suggester(詞語(yǔ)建議器)、Phrase Suggester(短語(yǔ)建議器)和 Completion Suggester(自動(dòng)完成建議器)。讓我分別解釋它們的作用和用法:

1)Term Suggester(詞語(yǔ)建議器)

作用:Term Suggester 用于糾正拼寫錯(cuò)誤,提供與用戶輸入的單個(gè)詞語(yǔ)最接近的建議。
用法:你可以在查詢請(qǐng)求中使用 Term Suggester 來(lái)提供詞語(yǔ)級(jí)別的建議。它通常用于搜索引擎的搜索框,以幫助用戶糾正拼寫錯(cuò)誤并提供相關(guān)的建議。
示例:

POST /my_index/_search
{
  "suggest": {
    "my-suggestion": {
      "text": "applle",
      "term": {
        "field": "product_name"
      }
    }
  }
}

2)Phrase Suggester(短語(yǔ)建議器)

作用:Phrase Suggester 用于提供糾正的短語(yǔ)或建議,而不僅僅是單個(gè)詞。
用法:你可以在查詢請(qǐng)求中使用 Phrase Suggester 來(lái)提供短語(yǔ)級(jí)別的建議。它通常用于搜索引擎的搜索框,以幫助用戶在糾正拼寫錯(cuò)誤的同時(shí)提供整個(gè)查詢短語(yǔ)的建議。
示例:

POST /my_index/_search
{
  "suggest": {
    "my-suggestion": {
      "text": "red bbaloon",
      "phrase": {
        "field": "product_name"
      }
    }
  }
}

3)Completion Suggester(自動(dòng)完成建議器)

作用:Completion Suggester 用于實(shí)現(xiàn)自動(dòng)完成搜索,根據(jù)用戶輸入的一部分提供建議。
用法:通常在搜索框中,當(dāng)用戶鍵入查詢的一部分時(shí),Completion Suggester 提供可能的建議,以幫助用戶更快地完成輸入。
示例:

POST /my_index/_search
{
  "suggest": {
    "my-suggestion": {
      "prefix": "app",
      "completion": {
        "field": "product_name.suggest"
      }
    }
  }
}

請(qǐng)注意,對(duì)于 Completion Suggester,通常需要在索引映射中定義一個(gè)專門的 “completion” 字段,以便支持自動(dòng)完成建議。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-781076.html

到了這里,關(guān)于(十)ElasticSearch高級(jí)使用【別名,重建索引,refresh操作,高亮查詢,查詢建議】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包