日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

  • Elasticsearch作為一門全文檢索技術(shù),那它是如何使用的呢?
  • 先學(xué)習(xí)Elasticsearch的一些語法,后續(xù)再在項(xiàng)目中實(shí)戰(zhàn)應(yīng)用。

一、IK分詞器

這個(gè)IK分詞器有什么用?為什么要用它?

要知道計(jì)算機(jī)是老美搞出來的,它的很多東西對(duì)于中文來說其實(shí)是很不友好的。

關(guān)于分詞,即把一段中文或者別的劃分成一個(gè)個(gè)的關(guān)鍵字。

比如"我是中國人",可以分為多少個(gè)詞?

按照中國漢字語言,其分為“我”,“是”,“中國人”,“中國”,“國人”這5個(gè)。

也就是說用戶輸入上述5個(gè)詞語,都可以搜索到“我是中國人”這條數(shù)據(jù)。

而默認(rèn)的中文分詞是將每個(gè)字看成一個(gè)詞,會(huì)被分為“我”,“是”,"中","國","人"。

這顯然是不符合要求的,所以用中文分詞器ik來解決這個(gè)問題。

如何通過Elasticsearch創(chuàng)建索引庫?

 

①analyze:翻譯過來就是分析的意思,這里就可以理解成分詞。

②analyzer:這里也就是指分詞器,我們使用ik_max_word。

  • ik_max_word為最細(xì)粒度劃分。
  • ik_smart為最少切分。

這是ik分詞器提供的兩個(gè)分詞算法,至于具體是如何實(shí)現(xiàn)的,就要去研究它的算法了。

可以把上述代碼修改做一個(gè)對(duì)比,會(huì)發(fā)現(xiàn)使用ik_smart只能分三個(gè)詞:“我”,“是”,“中國人”

這里顯然使用ik_max_word更加的合適。

二、基本概念

Elasticsearch本質(zhì)上也就是在存儲(chǔ)數(shù)據(jù),其有很多概念可以和MySQL類似的。

如何通過Elasticsearch創(chuàng)建索引庫?

 

為了方便學(xué)習(xí)將其和MySQL結(jié)合起來。

當(dāng)然嚴(yán)格來說將這些概念對(duì)應(yīng)起來不太準(zhǔn)確,但目前就這樣理解也沒問題。

①索引庫indices

  • MySQL中通過數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)。
  • Elasticsearch中通過索引庫存儲(chǔ)索引。

indices本身也就是索引indexs的復(fù)數(shù)寫法。

②類型type

  • 一個(gè)數(shù)據(jù)庫中可以創(chuàng)建多張表,比如說商品表,訂單表。
  • 一個(gè)索引集也可以有不同類型的索引,比如說商品索引,訂單索引。

不過這有一個(gè)缺陷是會(huì)導(dǎo)致索引庫混亂,未來版本中會(huì)移除這個(gè)概念,emm…也不知道現(xiàn)在移除這個(gè)概念沒有,目前還沒來得及查。

③文檔document

  • 數(shù)據(jù)庫中一條數(shù)據(jù)就是一行。
  • 索引集中一條信息就是一個(gè)文檔

④字段field

  • 數(shù)據(jù)庫中列就是每一行中的數(shù)據(jù)。
  • 索引集中字段就是文檔中的屬性。

弄清楚了這些概念,接下來創(chuàng)建索引庫。

三、操作索引庫

昨天我們也說明過了,Elasticsearch是一個(gè)基于RESTful風(fēng)格的搜索引擎。

Elasticsearch采用的是REST風(fēng)格API,其API本質(zhì)上也就是一次http請(qǐng)求:

1索引庫的創(chuàng)建

如何通過Elasticsearch創(chuàng)建索引庫?

 

既然是請(qǐng)求,那自然就會(huì)有:

  • 請(qǐng)求方式:PUT,其對(duì)應(yīng)的就是創(chuàng)建。
  • 請(qǐng)求路徑:/索引庫名
  • 請(qǐng)求參數(shù):這里是settings

這里settings是指索引庫的設(shè)置:

  • number_of_shards:分片數(shù)量。
  • number_of_rplicas:副本數(shù)量。

這個(gè)呢就涉及到了一些集群相關(guān)的概念,后續(xù)具體使用到的時(shí)候再做說明。

2索引庫的查詢與刪除

REST風(fēng)格的方便之處就在于通過請(qǐng)求方式的不同就能實(shí)現(xiàn)不同的操作:

如何通過Elasticsearch創(chuàng)建索引庫?

 

①查詢索引庫

請(qǐng)求方式GET對(duì)應(yīng)的就是查詢操作。

請(qǐng)求路徑依舊是上述創(chuàng)建的索引庫,可以查詢出liuxiaoai01索引庫的信息。

②刪除索引庫

請(qǐng)求方式DELETE對(duì)應(yīng)的就是刪除操作。

請(qǐng)求路徑依舊是上述創(chuàng)建的索引庫,可以刪除liuxiaoai01索引庫。

刪除后再次使用GET查詢對(duì)應(yīng)的索引庫,會(huì)發(fā)現(xiàn)其會(huì)報(bào)錯(cuò)了,證明刪除成功。

四、操作字段映射

創(chuàng)建了索引庫也就相當(dāng)于有了database數(shù)據(jù)庫,接下來就是數(shù)據(jù)表并添加數(shù)據(jù)了。

1類型的創(chuàng)建

如何通過Elasticsearch創(chuàng)建索引庫?

 

在索引庫中添加數(shù)據(jù)叫映射,這也是上述格式中_mApping的由來。

goods就是索引類型,也就是相當(dāng)于數(shù)據(jù)庫中的goods數(shù)據(jù)表。

properties也就是屬性,其下添加對(duì)應(yīng)的字段,上述中就有title,images,price三個(gè)字段,可以設(shè)置許多屬性:

  • type:int、long、short、date、integer、text、string……等多個(gè)。
  • index:根據(jù)語義理解就是是否被作為索引?
  • analyzer:也就是分詞器。

這個(gè)type是字段數(shù)據(jù)類型:int、long這些是數(shù)字類型,text、string是字符串類型。

  • 若是text類型,默認(rèn)會(huì)分詞。
  • 若是String類型,默認(rèn)不會(huì)分詞,上述中寫的keyword和String一回事,翻譯過來是關(guān)鍵字的意思,關(guān)鍵字肯定不能再分了,更好理解。

2類型的查詢

如何通過Elasticsearch創(chuàng)建索引庫?

 

PUT對(duì)應(yīng)著新增操作,GET也就對(duì)應(yīng)著查詢操作了,關(guān)于類型沒有刪除和修改操作。

就相當(dāng)于不能刪除和修改數(shù)據(jù)表的名稱,這點(diǎn)倒是和MySQL數(shù)據(jù)庫不一樣。

其查詢到的索引之間的映射關(guān)系也很清楚:

索引庫叫l(wèi)iuxiaoai01,通過mappings映射有g(shù)oods這個(gè)索引類型,該類型下properties中有3個(gè)字段。

基本上知道了其單詞意思也就知道其作用了。

注意關(guān)于這個(gè)type不要弄混了:

  • goods對(duì)應(yīng)的是索引類型,相當(dāng)于數(shù)據(jù)表。
  • 上述多個(gè)類型對(duì)應(yīng)的是字段的數(shù)據(jù)類型。

最后

行有不得反求諸己,我是@劉小愛

分享到:
標(biāo)簽:Elasticsearch
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定