opendistroforelasticsearch-kibana的中文應用

本文將介紹opendistroforelasticsearch-kibana在中文應用中的使用方法和注意事項。

一、安裝及配置

1、安裝opendistroforelasticsearch-kibana

tar -xzvf opendistroforelasticsearch-kibana-version.tar.gz
cd opendistroforelasticsearch-kibana-version
./bin/kibana

2、配置opendistroforelasticsearch-kibana的中文環境

i18n.locale: "zh-CN"
console.format: "pretty"
timezone: Asia/Shanghai

二、中文插件的使用

1、安裝elasticsearch-analysis-ik插件

cd elasticsearch-version
bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.2/elasticsearch-analysis-ik-7.10.2.zip

2、在Kibana中設置分詞器

PUT _settings
{
  "index": {
    "analysis": {
      "analyzer": {
        "ik_max_word": {
          "tokenizer": "ik_max_word"
        },
        "ik_smart": {
          "tokenizer": "ik_smart"
        }
      }
    }
  }
}

三、中文搜索優化

1、使用中文分詞器

使用elasticsearch-analysis-ik插件提供的中文分詞器,可以更加準確地將中文進行分詞,提高搜索的準確度。

2、擴展字符過濾器

對於一些特殊字符,可以通過擴展字符過濾器來對它們進行處理,提高搜索的效率。

PUT _settings
{
  "analysis": {
    "char_filter": {
      "my_mapping": {
        "type": "mapping",
        "mappings": [
          "+ =>plusplus",
          "- =>minusminus"
        ]
      }
    },
    "tokenizer": {
      "my_tokenizer": {
        "type": "whitespace"
      }
    },
    "analyzer": {
      "my_analyzer": {
        "char_filter": [
          "html_strip",
          "my_mapping"
        ],
        "tokenizer": "my_tokenizer",
        "filter": [
          "stop",
          "lowercase",
          "asciifolding"
        ]
      }
    }
  }
}

四、實現中文分組聚合

1、使用terms aggregation

terms aggregation可以將搜索結果按照指定的字段進行分組,並且可以對每個分組進行統計計算。

POST /data/_search
{
  "size": 0,
  "aggs": {
    "group_by_color": {
      "terms": {
        "field": "color.keyword",
        "size": 10,
        "order": {
          "avg_price": "desc"
        }
      },
      "aggs": {
        "avg_price": {
          "avg": {
            "field": "price"
          }
        }
      }
    }
  }
}

五、中文數據可視化

1、使用詞雲圖

通過ECharts提供的詞雲圖組件,可以對搜索結果中的高頻詞進行可視化展示。

var options = {
  series: [{
    type: 'wordCloud',
    sizeRange: [14, 80],
    rotationRange: [-90, 90],
    rotationStep: 45,
    shape: 'circle',
    width: '100%',
    height: '100%',
    top: '0%',
    left: '0%',
    right: '0%',
    bottom: '0%',
    data: [
      {
        name: 'Elasticsearch',
        value: 10000,
        textStyle: {
          normal: {
            color: 'black'
          },
          emphasis: {
            shadowBlur: 10,
            shadowColor: '#333'
          }
        }
      },
      {
        name: 'Kibana',
        value: 6181,
        textStyle: {
          normal: {
            color: 'black'
          },
          emphasis: {
            shadowBlur: 10,
            shadowColor: '#333'
          }
        }
      },
      {
        name: '中文',
        value: 4386,
        textStyle: {
          normal: {
            color: 'black'
          },
          emphasis: {
            shadowBlur: 10,
            shadowColor: '#333'
          }
        }
      }
    ]
  }]
};

var myChart = echarts.init(document.getElementById('myChart'));
myChart.setOption(options);

六、總結

本文介紹了在opendistroforelasticsearch-kibana中進行中文應用時的安裝、配置、搜索優化、分組聚合和數據可視化等方面。對於需要處理中文數據的用戶,可以根據本文提供的方法進行操作,提高搜索的效率和準確度。

原創文章,作者:GOFDZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/374788.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
GOFDZ的頭像GOFDZ
上一篇 2025-04-28 13:17
下一篇 2025-04-28 13:17

相關推薦

  • Python讀取中文

    Python是一種高級編程語言,被廣泛地應用於各種領域中。而處理中文數據也是其中重要的一部分。本文將介紹在Python中如何讀取中文,為大家提供指導和幫助。 一、讀取中文文件 在P…

    編程 2025-04-29
  • jQuery Datatable分頁中文

    jQuery Datatable是一個非常流行的數據表插件,它可以幫助您快速地在頁面上創建搜索、過濾、排序和分頁的數據表格。不過,它的默認設置是英文的,今天我們就來探討如何將jQu…

    編程 2025-04-29
  • Python計算中文字符個數

    本文將從多個方面對Python計算中文字符個數進行詳細的闡述,包括字符串長度計算、正則表達式統計和模塊使用方法等內容。 一、字符串長度計算 在Python中,計算字符串長度是非常容…

    編程 2025-04-29
  • Python3亂碼轉中文

    本文將詳細介紹如何轉換Python3中的亂碼為中文字符,幫助Python3開發工程師更好的處理中文字符的問題。 一、Python3中文亂碼的原因 在Python3中,中文字符使用的…

    編程 2025-04-29
  • 從16進制轉義到中文字符

    16進制轉義是為了在不同的字符集、不同的編碼下,能夠保證特殊字符被正確的識別和渲染。本文將從多個方面對16進制轉義做詳細的闡述,讓讀者對其有更深入的了解。 一、轉義實現 在Web開…

    編程 2025-04-28
  • Python IDLE如何設置中文運行環境

    Python IDLE是Python的集成開發環境,使用它可以方便地編寫、調試和執行Python程序。但是,默認情況下Python IDLE的運行環境是英文環境,如果需要在Pyth…

    編程 2025-04-27
  • Python 中文轉URL編碼

    本文將從以下幾個方面詳細闡述Python中實現中文轉URL編碼的方法及注意事項。 一、URL編碼概述 URL編碼也稱為百分號編碼,是一種將URL中的非ASCII字符轉換成“%”後加…

    編程 2025-04-27
  • 如何用Python輸出兩行中文字符

    在此篇文章中,我們將探討如何使用Python輸出兩行中文字符。具體而言,我們將從以下幾個方面進行闡述: 一、Python中文輸出的基礎知識 在開始探討如何輸出中文字符之前,我們需要…

    編程 2025-04-27
  • Python3.8中文文檔解讀

    Python 是一種解釋型語言、面向對象、動態數據類型的高級語言。 本篇文章旨在詳細闡述 Python3.8 中文文檔,從各個方面深入剖析 Python 的優勢,包括基礎語法、文件…

    編程 2025-04-25
  • 全面了解mindmanager中文破解版

    一、什麼是mindmanager中文破解版? Mindmanager中文破解版是一個流行的思維導圖軟件,在生產力工具中擁有着極高的地位。它可以幫助用戶提升思維整理能力,提高工作效率…

    編程 2025-04-25

發表回復

登錄後才能評論