【ElasticSearch】7.x版本的部署和使用

ElasticSearch的簡介網上一搜一大堆,這裏就不贅述了

ES的簡單應用:

一、es的部署,和插件kibana的安裝:

去官網下載:https://www.elastic.co/cn/downloads/elasticsearch

最新的是7.x版本,需要jdk1.8及以上纔可以

下載完打開這個bat文件即可啓動服務

 127.0.0.1:9200  輸入網址測試一下

出現這個標誌就算成功了

二、kibana插件的使用和安裝

安裝地址:https://www.elastic.co/cn/downloads/kibana

這裏需要選擇與es版本一樣的kibana,下載好的加載包解壓到es文件下即可

 kibana-7.7.1-windows-x86_64/bin下的kibana.bat文件是啓動文件

 啓動後輸入網址   http://localhost:5601 

成功!

我的kibana是漢化的,漢化方法如下:

 打開kibana-7.7.1-windows-x86_64\config文件下的kibana.yml文件,這個是配置文件

輸入下面這個指令並保存,然後重啓kibana就可以了

i18n.locale: "zh-CN"

 

三、接下來是使用es,這裏是go的代碼

/*7.x*/
const Mapping = `{
	"settings":{
		"number_of_shards": 1,
		"number_of_replicas": 0
	},
	"mappings":{
			"properties":{
				"user":{
					"type":"keyword"
				},
				"message":{
					"type":"text",
					"store": true,
					"fielddata": true
				}
			}
	}
}`

/*6.x*/
const testMapping = `{
	"settings":{
		"number_of_shards": 1,
		"number_of_replicas": 0
	},
	"mappings":{
		"_doc":{
			"properties":{
				"user":{
					"type":"keyword"
				},
				"message":{
					"type":"text",
					"store": true,
					"fielddata": true
				}
			}
		}
	}
}`

創建索引的時候,7.x版本和6.x版本是不一樣的,7.x版本沒有 [_doc]的

根據官方文檔,創建索引的操作如下

exists, err := esClient.IndexExists(index).Do(ctx)
	if err != nil {
		log.Error( "ESCreatIndex exists failed!")
		return err
	}

	if !exists {
		createIndex, err := esClient.CreateIndex("test_index").BodyString(Mapping).Do(ctx)
		if err != nil {
			return err
		}

		if !createIndex.Acknowledged {
            //dosomething
		}
    }

put和get數據的操作是:

test1 := testType{
		User:    "test1",
		Message: "hello test1",
	}

	put1, err := esClient.Index().Index("test_index").Id("1").BodyJson(test1).Do(ctx)
	if err != nil {
		t.Error(err)
		t.FailNow()
	}

	get1, err := esClient.Get().
		Index("test_index").
		Id("1").
		Do(ctx)
	if err != nil {
		// Handle error
		panic(err)
	}

	val, err := get1.Source.MarshalJSON()
	if err != nil {
		t.Log(err)
		t.FailNow()
	}
	//打印val

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章