Elasticsearch6.x和7.x版本常用插件彙總

来源:https://www.cnblogs.com/yobit/archive/2019/08/19/11376453.html
-Advertisement-
Play Games

elasticsearch插件彙總 基於es 7.3版本試用。 一、安全插件 1、x-pack 包括安全(x-pack-security),監視(x-pack-watcher),警報(x-pack-monitoring),報表(x-pack-graph),Elasticsearch SQL(x-pa ...


elasticsearch插件彙總

基於es 7.3版本試用。

一、安全插件

1、x-pack

a、介紹

包括安全(x-pack-security),監視(x-pack-watcher),警報(x-pack-monitoring),報表(x-pack-graph),Elasticsearch SQL(x-pack-sql),跨集群複製(x-pack-ccr)、x-pack-upgrade、x-pack-rollup和機器學習(x-pack-ml)。7.x版本中,es的安全核心功能免費使用。

b、安裝

es7.x版本以預設安裝好x-pack。修改配置激活即可。

#在elasticsearch.yml最後添加
xpack.security.enabled: true
xpack.security.audit.enabled: true
#basic表示xpack使用基礎版license,否則無法啟動
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

  

重啟es執行
./elasticsearch-setup-passwords interactive 
會引導設置各種密碼,包括elastic、kibana、apm_system、logstash_system、beats_system、remote_monitoring_user 
c、使用

預設用戶名elastic,例如

#curl請求
curl -XGET -u "elastic:123456" http://192.0.0.1:9200/_cat/indices?v
#http請求
header添加
key=Authorization  value = Basic ZWxhc3RpYzoxMjM0NTY=

將username:secret進行base64加密得到 dXNlcm5hbWU6c2VjcmV0 然後前面加上一個Basic和空格, 構造一個字元串形如: Basic dXNlcm5hbWU6c2VjcmV0 然後添加到http的header中Authorization作為鍵,該字元串為值。
若沒添加Authorization,restful請求時報錯,返回如security_exception、401

d、結合kibana

es啟用x-pack後,kibana會新增用戶和角色管理菜單。kibana登錄需要輸入密碼

e、es6.x版本使用x-pack

在es6.x中使用安全功能,需要在kibana中升級license。購買一個icense或申請一個30天的試用。 在 Kibana 中訪問 Management -> Elasticsearch -> License Management。選擇試用 然後在elasticsearch.yml添加如下配置

xpack.security.enabled: true
xpack.ml.enabled: true
xpack.license.self_generated.type: trial    

重啟es
在es的bin下執行如下命令,設置密碼

elasticsearch-setup-passwords interactive

在kibana.yml中配置

elasticsearch.username: "elastic"
elasticsearch.password: "123456"

重啟kibana,獲得試用30天

二、分詞插件

1、ik分詞

a、介紹

最流行的分詞插件

b、安裝
cd /bin
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.0/elasticsearch-analysis-ik-7.3.0.zip 
c.使用
i.創建索引
1.create a index
curl -XPUT http://localhost:9200/index
2.create a mapping
curl -XPOST http://localhost:9200/index/_mapping -H 'Content-Type:application/json' -d'
{
        "properties": {
            "content": {
                "type": "text",
                "analyzer": "ik_max_word",
                "search_analyzer": "ik_smart"
            }
        }

}'

  

analyzer說明: ik_smart: 會做最粗粒度的拆分 ik_max_word: 會將文本做最細粒度的拆分。 
ii.分詞查詢
curl -XPOST http://localhost:9200/index/_search  -H 'Content-Type:application/json' -d'
{
    "query" : { "match" : { "content" : "中國" }},
    "highlight" : {
        "pre_tags" : ["<tag1>", "<tag2>"],
        "post_tags" : ["</tag1>", "</tag2>"],
        "fields" : {
            "content" : {}
        }
    }
}

  

2、pinyin

a、介紹

pinyin插件能夠將文檔和查詢條件在漢字和拼音間轉換

b、安裝
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.3.0/elasticsearch-analysis-pinyin-7.3.0.zip

  

c.使用
i.創建索引
PUT /medcl/ 
{
    "settings" : {
        "analysis" : {
            "analyzer" : {
                "pinyin_analyzer" : {
                    "tokenizer" : "my_pinyin"
                    }
            },
            "tokenizer" : {
                "my_pinyin" : {
                    "type" : "pinyin",
                    "keep_separate_first_letter" : false,
                    "keep_full_pinyin" : true,
                    "keep_original" : true,
                    "limit_first_letter_length" : 16,
                    "lowercase" : true,
                    "remove_duplicated_term" : true
                }
            }
        }
    }
}

  

ii.查詢
GET /medcl/_analyze
{
  "text": ["劉德華"],
  "analyzer": "pinyin_analyzer"
}

  

3、smartcn

a、介紹

中科院分詞器,和ik類似。不同點是smartcn無法自定義詞庫

b、安裝
./elasticsearch-plugin install https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-smartcn/analysis-smartcn-7.3.0.zip

  

c.使用

類似ik tokenizer為smartcn

4、icu

a、介紹

Elasticsearch的 ICU 分析器插件 使用 國際化組件 Unicode (ICU) 函數庫(詳情查看 site.project.org)提供豐富的處理 Unicode 工具。 這些包含對處理亞洲語言特別有用的 icu_分詞器 ,還有大量對除英語外其他語言進行正確匹配和排序所必須的分詞過濾器。

b、安裝
./elasticsearch-plugin install analysis-icu

  

5、ik或smart與pinyin組合使用

es分析器實際上是三個功能的封裝,字元過濾器->分詞器->token過濾器,按順序執行 創建自定義分析器,格式如下

PUT localhost:9200/mytest
{
    "setting": {
        "analysis": {
            "char_filter": { 自定義的字元過濾器 },
            "tokenizer": { 自定義的分詞器 },
            "filter": { 自定義的token過濾器 },
            "analyzer": { 自定義的分析器,可以將上面的char_filter、tokenizer、filter用不同的組合拼起來,形成不同的分析器 }
        }
    }
}

  

例如ik和拼音組合

http://localhost:9200/article_ik_pinyin
{
	"settings": {
		"number_of_shards": "6",
		"number_of_replicas": "1",
		"index":{
			"analysis": {
				"analyzer": {
					"ik_pinyin_analyzer": {
						"type":"custom",
						"tokenizer": "ik_max_word",
	        			"filter": "pinyin_filter"
					}
				},
				"filter":{
		          "pinyin_filter":{
		            "type": "pinyin",
		            "keep_first_letter": false
		          }
		        }
			}
		}
	},
	"mappings": {
		"article_ik_pinyin": {
			"properties": {
				"id": {
					"type": "text"
				},
				"title": {
					"analyzer": "ik_pinyin_analyzer",
					"type": "text"
				}
			}
		}

	}
}

  

三、文本解析插件

4、ingest attachment plugin

a、介紹

這個是基於Apache 文本擴展庫Tika插件之上開發的一款適合elasticsearch文本解析插件。在ES5之前使用的是mapper-accachment。ElasticSearch只能處理文本,不能直接處理文檔。
Ingest-Attachment是一個開箱即用的插件,替代了較早版本的Mapper-Attachment插件,使用它可以實現對(PDF,DOC,EXCEL等)主流格式文件的文本抽取及自動導入。Elasticsearch5.x新增一個新的特性IngestNode,此功能支持定義命名處理器管道pipeline,pipeline中可以定義多個處理器,在數據插入ElasticSearch之前進行預處理。 而Ingest Attachment Processor Plugin提供了關鍵的預處理器attachment,支持自動對入庫文檔的指定欄位作為文檔文件進行文本抽取。
由於ElasticSearch是基於JSON格式的文檔資料庫,所以附件文檔在插入ElasticSearch之前必須進行Base64編碼。

b、安裝
./elasticsearch-plugin install ingest-attachment

  

四、SQL支持

1、x-pack-sql

es7.x版本的x-pack自帶es sql

a、使用例如
http://localhost:9200/_sql
{
    "query": "SELECT * FROM article_ik_pinyin"
}

  

詳見

2、elasticsearch-sql

a、介紹

支持到es6.8
https://github.com/NLPchina/elasticsearch-sql/

b、安裝
./elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/6.5.4.0/elasticsearch-sql-6.5.4.0.zip

  

c、使用
curl -X GET "localhost:9200/_sql" -H 'Content-Type: application/json' -d'select * from article_smartcn_pinyin  limit 10'

  

五、可視化

1、kibana

a、介紹

es官方提供的可視化套件,集成了es開發工具、報表、儀錶盤、數據挖掘等功能https://www.elastic.co/guide/en/kibana/current/targz.html
kibana6.7+才支持漢化

b、安裝
kibana安裝版本要和es對應wget https://artifacts.elastic.co/downloads/kibana/kibana-7.3.0-linux-x86_64.tar.gztar -xzvf kibana-7.3.0-linux-x86_64.tar.gz

修改config/kibana.yml
i18n.locale: "zh-CN"
server.port: 5601
server.host: "內網ip"
ibana.index: ".kibana"
elasticsearch.hosts: ["http://192.168.0.1:9200"]
es有配置x-pack的話修改 elasticsearch.username: "elastic" elasticsearch.password: "123456"

  

 啟動 
./bin/kibana

  

 

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ```sql declare @TableName sysname = 'TableName' declare @Result varchar(max) = 'public class ' + @TableName + ' {' select @Result = @Result + ' public... ...
  • 讀取: 1) 客戶端調用 DistributedFileSystem 的 Open() 方法打開文件。2) DistributedFileSystem 用 RPC 連接到 NameNode,請求獲取文件的數據塊的信息;NameNode 返迴文件的部分或者全部數據塊列表;對於每個數據塊,NameNod ...
  • 1、資料庫的ACID 在資料庫中,事務是要滿足ACID的,即A: 原子性、C:一致性、I:隔離性、D:持久性。其中隔離性是最放鬆的一個,可以利用資料庫鎖的機制或者版本並控制機制獲取更高的隔離級別,但是隨著隔離級別的提高,數據的併發能力有所下降。因此如何在並行和隔離性之間做一個權衡是一個至關重要的問題 ...
  • 通過https://www.cnblogs.com/tree1123/p/11243668.html 已經對consumer有了一定的瞭解。producer比consumer要簡單一些。 一、舊版本producer 0.9.0.0版本以前,是由scala編寫的舊版本producer。 入口類:kaf ...
  • 在業務處理需要使用new Date()來更新時間類型的欄位時,資料庫會對時間類型進行四捨五入處理,如果new Date()的更新時間與原時間間隔太短,資料庫進行四捨五入之後,認為值沒有變化,從而不更新數據 導致業務失敗。 ...
  • 最近使用數據泵(DataPump)比較多,遇到了奇奇怪怪的問題,似乎Apply了補丁PSU 10.2.0.5.180717後,DataPump的問題就格外多。如下所示: expdp system/xxx DIRECTORY=DUMPDIR DUMPFILE=xxxx.dmp TABLES=xxxx.... ...
  • 相對於易用性很差Apache Hadoop,其他商業版Hadoop的性能易用性都有更好的表現,如Cloudera、Hortonworks、MapR以及國產的星環,下麵使用CDH(Cloudera Distribution Hadoop)快速體驗下。首先從,從Cloudera官網下載部署好的虛擬機環境... ...
  • 2019-08-19T09:27:33.225584+08:00Slave encountered ORA-27090 exception during crash recoveryRecovery slave process is holding some recovery locks. Kill ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...