真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù),bin存放elasticSearch?運行命令

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的蒼梧網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

???????? config?存放配置文件

???????? lib?存放elasticSearch運行依賴jar包

???????? modules?存放elasticSearch?模塊

???????? plugins?存放插件?

?

1.1.?Elasticsearch與MySQL對比

Elasticsearch 集群可以包含多個索引(Index),每個索引可以包含多個類型(Type),每個類型可以包含多個文檔(Document),每個文檔可以包含多個字段(Field)。以下是?MySQL 和?Elasticsearch 的術(shù)語類比圖,幫助理解:

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

就像使用?MySQL 必須指定?Database 一樣,要使用?Elasticsearch 首先需要創(chuàng)建?Index:

client.indices.create({index : 'blog'});

這樣就創(chuàng)建了一個名為?blog的?Index。Type 不用單獨創(chuàng)建,在創(chuàng)建?Mapping 時指定就可以。Mapping 用來定義?Document 中每個字段的類型,即所使用的?analyzer、是否索引等屬性,非常關(guān)鍵等。

?

索引對象(blob):?存儲數(shù)據(jù)的表結(jié)構(gòu)?,任何搜索數(shù)據(jù),存放在索引對象上?。

???????? 映射(mapping):?數(shù)據(jù)如何存放到索引對象上,需要有一個映射配置,?包括:數(shù)據(jù)類型、是否存儲、是否分詞?… 等。

???????? 文檔(document):?一條數(shù)據(jù)記錄,?存在索引對象上

???????? 文檔類型(type):?一個索引對象?存放多種類型數(shù)據(jù),數(shù)據(jù)用文檔類型進行標(biāo)識?

【后續(xù)編程】:?

第一步:建立索引對象

第二步:建立映射

第三步:存儲數(shù)據(jù)【文檔】

第四步:指定文檔類型進行搜索數(shù)據(jù)【文檔】

?

1.1.?創(chuàng)建一個索引

??? Elasticsearch 命令的一般格式是:REST VERBHOST:9200/index/doc-type— 其中?REST VERB?是?PUT、GET?或DELETE。(使用?curlL?-X?動詞前綴來明確指定?HTTP 方法。)

要創(chuàng)建一個索引,可在你的?shell 中運行以下命令:

curl -XPUT "http://localhost:9200/blog01/"

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

查看

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)?

1.1.?插入一個文檔

要在?/blog01?索引下創(chuàng)建一個類型,可插入一個文檔。

要將包含?“Deck the Halls” 的文檔插入索引中,可運行以下命令(將該命令和本教程的其他?CURL 命令都鍵入到一行中):

curl -XPUT "http://localhost:9200/blog01/article/1" -d ?"{"""id""": """1""", """title""": """Whatiselasticsearch"""}"

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

前面的命令使用?PUT?動詞將一個文檔添加到?/article文檔類型,并為該文檔分配?ID 為1。URL 路徑顯示為index/doctype/ID(索引/文檔類型/ID)。

1.2.?查看文檔

要查看該文檔,可使用簡單的?GET?命令:

curl -XGET "http://localhost:9200/blog01/article/1"

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

Elasticsearch 使用你之前?PUT?進索引中的?JSON 內(nèi)容作為響應(yīng):

1.3.?更新文檔

如果你認識到title字段寫錯了,并想將它更改為?Whatislucene 怎么辦?可運行以下命令來更新文檔:

curl -XPUT "http://localhost:9200/blog01/article/1" -d "{"""id""": """1""", """title""": """Whatislucene"""}"

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

因為此命令使用了相同的唯一?ID為1,所以該文檔會被更新。

1.4.?搜索文檔

是時候運行一次基本查詢了,此查詢比你運行來查找?“Get the Halls” 文檔的簡單?GET?要復(fù)雜一些。文檔?URL 有一個內(nèi)置的?_search?端點用于此用途。在標(biāo)題中找到所有包含單詞?lucene?的數(shù)據(jù):

curl -XGET "http://localhost:9200/blog01/article/_search?q=title:'Whatislucene'"

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

?參數(shù)表示一個查詢。

1.5.?檢查搜索返回對象

????上圖中給出了?Elasticsearch?從前面的查詢返回的數(shù)據(jù)。

????在結(jié)果中,Elasticsearch?提供了多個?JSON?對象。第一個對象包含請求的元數(shù)據(jù):看看該請求花了多少毫秒?(took)?和它是否超時?(timed_out)。_shards?字段需要考慮?Elasticsearch?是一個集群化服務(wù)的事實。甚至在這個單節(jié)點本地部署中,Elasticsearch?也在邏輯上被集群化為分片。在往后看可以觀察到?hits?對象包含:

·??????? total?字段,它會告訴你獲得了多少個結(jié)果

·??????? max_score,用于全文搜索

·??????? 實際結(jié)果

實際結(jié)果包含?fields?屬性,因為你將?fields?參數(shù)添加到了查詢中。否則,結(jié)果中會包含?source,而且包含完整的匹配文檔。_index、_type?和?_id?分別表示索引、文檔類型、ID;_score?指的是全文搜索命中長度。這?4?個字段始終會在結(jié)果中返回。

1.6.?刪除文檔

暫時不要刪除該文檔,知道如何刪除它就行了:

curl -XDELETE "http://localhost:9200/blog01/article/1"

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

1.7.?刪除索引

暫時不要刪除該文檔,知道如何刪除它就行了:

curl -XDELETE "http://localhost:9200/blog01"

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

1.要使用?Elasticsearch 首先需要創(chuàng)建?Index:client.indices.create({index : 'blog'});創(chuàng)建了一個名為?blog的?Index

2.Type 不用單獨創(chuàng)建,在創(chuàng)建?Mapping 時指定就可以。

3.Mapping 用來定義?Document 中每個字段的類型,即所使用的?analyzer、是否索引等屬性,非常關(guān)鍵等

URL 路徑顯示為index/doctype/ID(索引/文檔類型/ID)

創(chuàng)建文檔(插入一條數(shù)據(jù)),自動創(chuàng)建索引和映射

?

======================================================

import?org.elasticsearch.action.index.IndexResponse;

import?org.elasticsearch.client.Client;

import?org.elasticsearch.client.transport.TransportClient;

import?org.elasticsearch.common.transport.InetSocketTransportAddress;

import?org.elasticsearch.common.xcontent.XContentBuilder;

import?org.elasticsearch.common.xcontent.XContentFactory;

import?org.junit.Before;

import?org.junit.Test;

?

import?java.net.InetAddress;

import?java.util.HashMap;

import?java.util.Map;

?

public class?ESTest {

????//創(chuàng)建連接

????private?Client?client;

?

????/**

?????* 通過TransportClient獲取ES連接

?????*/

????@Before

????public void?getClient()?throws?Exception {

????????//ES服務(wù)的JavaAPI的port為9300

????????//注意:如果請求一個ES集群,可以考慮多添加幾個節(jié)點,

????????//為了避免在一個節(jié)點出現(xiàn)網(wǎng)絡(luò)問題導(dǎo)致的請求失敗問題,可以自動切換另外一個節(jié)點

????????client?= TransportClient.builder().build()

????????????????.addTransportAddress(new?InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));

?

?

????}

????@Test

????????/**

?????????* 1.使用json來創(chuàng)建文檔(插入一條數(shù)據(jù)),自動創(chuàng)建索引和映射

?????????*/

?

????????public void?creatDocument() {

????????//jason格式的數(shù)據(jù)創(chuàng)建文檔(插入一條數(shù)據(jù)),自動創(chuàng)建索引和映射

????????String source =?"{"?+

????????????????"\"id\":\"1\","?+

????????????????"\"title\":\"woshishui\","?+

????????????????"\"content\":\"wozaina\""?+

????????????????"}";

????????//創(chuàng)建文檔:定義索引名稱,文檔類型,主鍵唯一標(biāo)識id

????????//execute().actionGet()==get() 代碼馬上執(zhí)行

????????IndexResponse indexResponse =

????????????????client.prepareIndex("blog",?"article",?"1").setSource(source).get();

?

????????//獲取響應(yīng)信息

????????this.loadResponse(indexResponse);

????????client.close();

????}

????public void?loadResponse(IndexResponse indexResponse){

????????System.out.println("索引名稱"?+ indexResponse.getIndex());

????????System.out.println("文檔類型"?+ indexResponse.getType());

????????System.out.println("ID"?+ indexResponse.getId());

????????System.out.println("版本"?+ indexResponse.getVersion());

????????System.out.println("是否創(chuàng)建成功"?+ indexResponse.isCreated());

????}

????????/**

?????????* 2.使用mao創(chuàng)建文檔.自動創(chuàng)建索引和映射

?????????*/

????????public ?void?creatDocument2(){

????????????//map類型的數(shù)據(jù)

????????????Map source =?new?HashMap();

????????????source.put("id","2");

????????????source.put("title","我是誰");

????????????source.put("content","我在哪");

?

????????????//創(chuàng)建文檔

????????????IndexResponse indexResponse =

????????????????????client.prepareIndex("blog","article","2")

????????????????????????????.setSource(source).get();

????????????this.loadResponse(indexResponse);

?

????????????client.close();

????????}

?

?

????/**

?????* 3.使用ES幫助類(執(zhí)行類),創(chuàng)建文檔

?????*/

????@Test

????public ?void?creatDocument3()?throws?Exception{

????????XContentBuilder source = XContentFactory.jsonBuilder()

?

????????????????.startObject()

????????????????????.field("id",3)

????????????????????.field("title","whoami")

????????????????????.field("content","whereami")

????????????????.endObject();

????????System.out.println(source.toString());

?

????????//創(chuàng)建文檔

????????IndexResponse indexResponse =?client.prepareIndex("blog",?"article",?"3").setSource(source).get();

?

????????this.loadResponse(indexResponse);

????????client.close();

?

?

?

????}

}

?

======================================================================================

搜索文檔數(shù)據(jù)

1.單個索引

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)?

2.多個索引

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

更新數(shù)據(jù)

方式一:

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

方式二:

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

方式三

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

刪除數(shù)據(jù)

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

查詢

queryStringQuery:

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

es默認的分詞器并沒有中文進行分詞,需要我們按照一個比默認屌很多的分詞器(Ik分詞器)

?

創(chuàng)建映射

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)

好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)


網(wǎng)頁名稱:好程序員大數(shù)據(jù)學(xué)習(xí)路線分享ELK技術(shù)
文章URL:http://weahome.cn/article/podoci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部