本文將介紹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