大數(shù)據(jù)技術(shù)之elasticsearch下_第1頁
大數(shù)據(jù)技術(shù)之elasticsearch下_第2頁
大數(shù)據(jù)技術(shù)之elasticsearch下_第3頁
大數(shù)據(jù)技術(shù)之elasticsearch下_第4頁
大數(shù)據(jù)技術(shù)之elasticsearch下_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、大數(shù)據(jù)技術(shù)之Elasticsearch【下】3.1.6新建文檔(源數(shù)據(jù)map方式添加json)1)源代碼TestpublicvoidcreateIndexByMap()/1文檔數(shù)據(jù)準(zhǔn)備Mapjson=newHashMap();json.put(id,2);json.put(title,基于Lucene的搜索服務(wù)器);json.put(content,”它提供了一個分布式多用戶能力的全文搜索弓I擎, 基于RESTfulweb接口)/2創(chuàng)建文檔IndexResponseindexResponse=client.prepareIndex(blog,article,2).setSource(json)

2、.execute().actionGet();/3打印返回的結(jié)果System.out.println(index:+indexResponse.getIndex();System.out.println(type:+indexResponse.getType();System.out.println(id:+indexResponse.getId();System.out.println(version:+indexResponse.getVersion();System.out.println(result:+indexResponse.getResult();/4關(guān)閉連接client.cl

3、ose();2)結(jié)果查看PrtiblemgJavadoc*Oeclaston曰ClieniTe.crejtelndetSyMap:日百9北。74=45山;保鵬金正早3月發(fā)習(xí)上午丸隊耳22,20179:40;56arg+elasticsearch+pLuginsiPluginsService信息:AllisonBldiremodules,plugins,sitesor.elasticsearch,client,transport.Tran5portClient369d+65bindextblogtype:articleid:2version;1create:true3.1.7新建文檔(源數(shù)據(jù)es

4、構(gòu)建器添加json)1)源代碼TestpublicvoidcreateIndex()throwsException/1通過es自帶的幫助類,構(gòu)建json數(shù)據(jù)XContentBuilderbuilder=XContentFactory.jsonBuilder().startObject().field(id,3).field(title,基于Lucene的搜索服務(wù)器).field(content,”它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTfulweb接口。).endObject();/2創(chuàng)建文檔IndexResponseindexResponse=client.prepareIn

5、dex(blog,article,3).setSource(builder).get();/3打印返回的結(jié)果System.out.println(index:+indexResponse.getIndex();System.out.println(type:+indexResponse.getType();System.out.println(id:+indexResponse.getId();System.out.println(version:+indexResponse.getVersion();System.out.println(result:+indexResponse.getRe

6、sult();/4關(guān)閉連接client.close();2)結(jié)果查看P-ablemE陽JavadocaD&cIarsticm用Console/號wlBTminataJKwlBTminataJK匚iwnCrastxfMfllhdmjiRMiwnCrastxfMfllhdmjiRM河EAPKjqrnEEAPKjqrnE川西六司胸jdkL7QjdkL7Q忡ifnavaMmg(2Q17ifnavaMmg(2Q17年8 8月2222日上午伏442442用八月22017:27org.elasticsearch,pluginsiPLuginsService自SISI/ /I I,舊*drdrntTvntTv

7、KgviltavPUKgviltavPU同E E簟roiffwroiffw犧IWG”.!;i i,A.f-,A.f-22,22,201710:06:4org.elasticsearch.plugins.PluginsServic201710:06:4org.elasticsearch.plugins.PluginsServic信皂:slgnnodules,plqginsslgnnodules,plqgins口,ntnt螢FFidUidU, ,氣壯加星亍LuteneELuteneE用陸甲WJTWJTJententn.Jententn.它提供了一千升由動用尸富力的至更N N常青摩,基干RE5T+u

8、lRE5T+ul*手口3.1.9搜索文檔數(shù)據(jù)(多個索引)1)源代碼TestpublicvoidgetMultiData()/1查詢多個文檔MultiGetResponseresponse=client.prepareMultiGet().add(blog,article,1).add(blog,article,2,3).add(blog,article,2).get();/2遍歷返回的結(jié)果for(MultiGetItemResponseitemResponse:response)GetResponsegetResponse=itemResponse.getResponse();/如果獲取到查詢

9、結(jié)果if(getResponse.isExists()StringsourceAsString=getResponse.getSourceAsString();System.out.println(sourceAsString);/3關(guān)閉資源client.close();2)結(jié)果查看我:1,世,:基于Lucene的搜索服務(wù)器”content:它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTfulweb接口”content:它 提 供 了 一 個 分 布 式 多 用 戶 能 力 的 全 文 搜 索 引 擎 , 基 于RESTfulweb接 口,id:2,title:基于Lucene的搜索

10、服務(wù)器id:3,titile:ElasticSearch是一個基于Lucene的搜索服務(wù)器”content:它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTfulweb接口。content:它 提 供 了 一 個 分 布 式 多 用 戶 能 力 的 全 文 搜 索 引 擎 , 基 于RESTfulweb接 口,id:2,title:基于Lucene的搜索服務(wù)器3.1.10更新文檔數(shù)據(jù)(update)1)源代碼注:只能對已有得文件進(jìn)行更改TestpublicvoidupdateData()throwsThrowable/1創(chuàng)建更新數(shù)據(jù)的請求對象UpdateRequestupdateReq

11、uest=newUpdateRequest();updateRequest.index(blog);updateRequest.type(article);updateRequest.id(3);updateRequest.doc(XContentFactory.jsonBuilder().startObject()/對沒有的字段添加,對已有的字段替換.field(title,基于Lucene的搜索服務(wù)器).field(content,”它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTfulweb接口。大數(shù)據(jù)前景無限).field(createDate,2017-8-22).endOb

12、ject();/2獲取更新后的值UpdateResponseindexResponse=client.update(updateRequest).get();/3打印返回的結(jié)果System.out.println(index:+indexResponse.getIndex();System.out.println(type:+indexResponse.getType();System.out.println(id:+indexResponse.getId();System.out.println(version:+indexResponse.getVersion();System.out.p

13、rintln(create:+indexResponse.getResult();/4關(guān)閉連接client.close();2)結(jié)果查看ElDsticscarchElDsticscarch三手血叫的w w伊&,嗎U U = =舉=扎J J3rlM3rlM吊彳*日iJfiiJfi . .斷加,卜.D.D _idiwore-_idiwore- -cixntantidltltlsowlaDwtecixntantidltltlsowlaDwteb百熱了一第至=3B=3B的*ffUMdffUMd口3 3”業(yè)修i i司 1 了-一片】1 1=而=了-一+=二彳三1 1:一:最一帶叱T TL二丁1 1事彳土

14、-. .r rririI I:. .: : 皿3 3iiiitCETtHTtCETtHTfridfridf fHE4.1.1更新文檔數(shù)據(jù)(upsert)設(shè)置查詢條件,查找不到則添加IndexRequest內(nèi)容,查找到則按照UpdateRequest更新。TestpublicvoidtestUpsert()throwsException/設(shè)置查詢條件,查找不到則添加IndexRequestindexRequest=newIndexRequest(blog,article,5).source(XContentFactory.jsonBuilder().startObject().field(tit

15、le,搜索服務(wù)器).field(content,它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTfulweb接口。日asticsearch是用Java開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是當(dāng)前流行的企業(yè)級搜索引擎。設(shè)計用于云計算中,能夠達(dá)到實時搜索,穩(wěn)定,可靠,快速,安裝使用方便。).endObject();/設(shè)置更新,查找到更新下面的設(shè)置UpdateRequestupsert=newUpdateRequest(blog,article,5).doc(XContentFactory.jsonBuilder().startObject().field(user,李四).e

16、ndObject().upsert(indexRequest);client.update(upsert).get();client.close();第一次執(zhí)行bigdata11:9200/blog/article/5CahadoDpl02;9200/bkra/articte/5Q用白氣力弟全文牌青引至,里士亞 NTH1NTH1 強(qiáng)噂口皿 ticatica 爾蠅用丁的用友的,并作力時口山*洞榮會下的開社通碼發(fā)而是:當(dāng)黃馀仃的定 1111 癱三弓里強(qiáng)計帚于三訃苴:,道誠姑則史羽忸率,心也,出至,曲.由,更從佳用卜憚,第二次執(zhí)行bigdata11:9200/blog/article/5Q。hadd

17、oplOJ:92U0/LJIog/diticlf?/5Q支;用口甑力的工文主源用攀,基于 EES7EUEES7EU”礴口*肛”1 1 打工*3 3 二用 1 1 到小顆.產(chǎn)作為蚱加匕仔可手猛 I I、的升機(jī)四及而,是當(dāng)面都附 1M1M 夏融京弓的曲1+用于云計比札16埠達(dá)到劉州拈智史,可能,利更,專需使用力*注五下四個4.1.2刪除文檔數(shù)據(jù)(prepareDelete)1)源代碼TestpublicvoiddeleteData()/1刪除文檔數(shù)據(jù)DeleteResponseindexResponse=client.prepareDelete(blog,article,5).get();/2打印

18、返回的結(jié)果System.out.println(index:+indexResponse.getIndex();System.out.println(type:+indexResponse.getType();System.out.println(id:+indexResponse.getId();System.out.println(version:+indexResponse.getVersion();System.out.println(found:+indexResponse.getResult();/3關(guān)閉連接client.close();2)結(jié)果查看一PrcblsmsPrcblsm

19、s何白d d 點IMIMDeclaratiDnDeclaratiDn且ConsoConsoe e ProgressProgress-ctcmninatcdClkntTest.dcletcDatoJAJritE;Pr(jgrarn-ctcmninatcdClkntTest.dcletcDatoJAJritE;Pr(jgrarn國。隊!1 1也*1卜1Z0.451Z0.45日四日心*-3t|3t|:2020| |1 11 17070月2222日上413413;44;2T)44;2T)八 月2乙20171G;44:27Torg,elasticsearcb.plugins.PluginsService

20、宕 息 :MasterofVengeanceJmodulesJ,pluginsJjsitesJindex:blGgtype:articleid:lversion:3 3found:true3.2條件查詢QueryBuilder查詢所有(matchAllQuery)1)源代碼TestpublicvoidmatchAllQuery()/1執(zhí)行查詢SearchResponsesearchResponse=client.prepareSearch(blog).setTypes(article).setQuery(QueryBuilders.matchAllQuery().get();/2打印查詢結(jié)果S

21、earchHitshits=searchResponse.getHits();/獲取命中次數(shù),查詢結(jié)果有多少對象System.out.println(查詢結(jié)果有:+hits.getTotalHits()+條);for(SearchHithit:hits)System.out.println(hit.getSourceAsString();/打印出每條結(jié)果/3關(guān)閉連接client.close();I|2)結(jié)果查看對所有字段分詞查詢(queryStringQuery)1)源代碼Testpublicvoidquery()/1條件查詢SearchResponsesearchResponse=clien

22、t.prepareSearch(blog).setTypes(article).setQuery(QueryBuilders.queryStringQuery(全文).get();/2打印查詢結(jié)果SearchHitshits=searchResponse.getHits();/獲取命中次數(shù),查詢結(jié)果有多少對象System.out.println(查詢結(jié)果有:+hits.getTotalHits()+條)for(SearchHithit:hits)System.out.println(hit.getSourceAsString();/打印出每條結(jié)果)/3關(guān)閉連接client.close();2)

23、結(jié)果查看通配符查詢(wildcardQuery)*:表示多個字符(0個或多個字符)?:表示單個字符2)結(jié)果查看3.2.4詞條查詢(TermQuery)1)源代碼TestpublicvoidwildcardQuery()/1通配符查詢SearchResponsesearchResponse=client.prepareSearch(blog).setTypes(article).setQuery(QueryBuilders.wildcardQuery(content,*全*).get();SearchHitshits=searchResponse.getHits();/獲取命中次數(shù),查詢結(jié)果有多

24、少對象System.out.println(查詢結(jié)果有:+hits.getTotalHits()+條)for(SearchHithit:hits)System.out.println(hit.getSourceAsString();/打印出每條結(jié)果)/3關(guān)閉連接client.close();)TestpublicvoidtermQuery()/1第一field查詢SearchResponsesearchResponse=client.prepareSearch(blog).setTypes(article).setQuery(QueryBuilders.termQuery(content,全文

25、).get();SearchHitshits=searchResponse.getHits();/獲取命中次數(shù),查詢結(jié)果有多少對象System.out.println(查詢結(jié)果有:+hits.getTotalHits()+條);for(SearchHithit:hits)System.out.println(hit.getSourceAsString();/打印出每條結(jié)果)/3關(guān)閉連接client.close();2)結(jié)果查看 后五后五* *,U. .觀觀11g.i.UMHBV V曲蕓曲蕓 T,F(xiàn)3IE4TW巾巾 nrT_U.,LrrW0|5 1調(diào)調(diào)/,.附哂附哂M19fxiIt:”j/iid

26、ZledNplusin 卡卡 10 息息TLeof)/chiiidp*. .in 小孔小孔 RmiW#*Pl1;“.】ladMplUghl 口口 rfr1.ulLcsrth.JQLILFtu*riljQ.nPlu.gl-ii.IgdMpluiin【距【距 0 昂昂 tiXBenrrh 口中口中FCQIBIOT.F 磨磨 rmlMtQrFl4M:n】.l-oiddphugi 巾巾grg,+131LHf 時代匕時代匕 atripLHURI:恥匕包恥匕包 u$MkrP:ug】4LxgdMpu(inorg.flMtics?flrch,transpijrl,tTvSPlmin.110dt4uliifin

27、? ?電電/lastimrthtiM1npm*Mtu4Plu-in:erf.arrehtnn.vport.clintPTABIIiItTrA-aaportCliwitft5ft5B4 即即0%Procfisfinijh 同同 vsih 守守 xilcod?03.2.5模糊查詢(fuzzy)Testpublicvoidfuzzy()/1模糊查詢SearchResponsesearchResponse=client.prepareSearch(blog).setTypes(article).setQuery(QueryBuilders.fuzzyQuery(title,lucene).get();

28、/2打印查詢結(jié)果SearchHitshits=searchResponse.getHits();/獲取命中次數(shù),查詢結(jié)果有多少對象System.out.println(查詢結(jié)果有:+hits.getTotalHits()+條);Iteratoriterator=hits.iterator();while(iterator.hasNext()SearchHitsearchHit=iterator.next();/每個查詢對象System.out.println(searchHit.getSourceAsString();/獲取字符串格式打印/3關(guān)閉連接client.close();3.3映射相關(guān)

29、操作1)源代碼TestpublicvoidcreateMapping()throwsException/1設(shè)置mappingXContentBuilderbuilder=XContentFactory.jsonBuilder().startObject().startObject(article).startObject(properties).startObject(id1).field(type,string).field(store,yes).endObject().startObject(title2).field(type,string).field(store,no).endObject().startObject(content).field(type,string).field(store,yes).endObject().endObject().endObject().endObject();/2添力口mappingPutMappingRequest

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論