- 今日推薦
-
- 互聯(lián)網(wǎng)創(chuàng)業(yè)你必須知道的幾點營銷本質「互聯(lián)網(wǎng)營銷創(chuàng)業(yè)」
- 小紅書粉絲破萬「小紅書萬粉」
- 大敗局!是誰殺死了奢侈品垂直電商「奢侈品電商怎么樣」
- 拼多多賣是真的假的「拼多多客戶投訴假冒品牌會怎么處理」
- 「快點融媒」\u0026#34;雙十一\u0026#34;甌海電商戰(zhàn)果累累
- 莘縣電子商務進農村「莘縣重點鄉(xiāng)鎮(zhèn)」
- 百草味賣身好想你「好想你百草味對賭協(xié)議」
- 羅永浩對話羅振宇「新東方羅永浩」
- 2020快手電商報告「快手電商前二十名排行榜最新」
- 跨境電商怎樣選擇合適的物流「國內跨境物流哪家強」
- 特別關注
電商網(wǎng)站上的搜索功能是如何實現(xiàn)的「如何開搜索電商」
今天是劉小愛自學Java的第159天。
感謝你的觀看,謝謝你。
學習計劃安排如下:
索引庫本質上和數(shù)據(jù)庫類似,也是存儲數(shù)據(jù)的,既然如此自然也會有增刪改查。那么這個索引庫到底有何特別應用呢?索引庫的特別之處在于它的查詢,用戶搜索一個詞語,響應哪些對應的數(shù)據(jù)給用戶?重點是match匹配查詢和詞條查詢。一、索引庫的增刪改查1新增數(shù)據(jù)
①通過POST請求添加數(shù)據(jù)。
昨天我們給索引庫設定了幾個字段,以上述例子中的title字段為例,給其添加一條數(shù)據(jù)“小愛手機”,這樣后面可以通過索引庫來快速定位這條數(shù)據(jù)了。
通過響應結果可以看到result顯示的是“created”,也就是新建了一個數(shù)據(jù)。
注意:這里的請求方式是POST,昨天關于索引庫的創(chuàng)建時POST對應的是修改,PUT是新增,至于這兒為何是POST,暫時不清楚。
②隨機生成id
系統(tǒng)會隨機生成一個id來記錄這條新增的數(shù)據(jù),但是這個id太復雜了,不好記住。
所以在新增數(shù)據(jù)時自定義id。
2自定義id
在請求路徑中指定id即可。
關于請求路徑:索引庫是liuxiaoai01,索引類型goods,id為1,添加了一條數(shù)據(jù)。
有了id之后我們就可以去進行修改和刪除數(shù)據(jù)的操作了,如果不是系統(tǒng)隨機的id不容易記住,使用起來不方便。
3修改數(shù)據(jù)
PUT請求就是修改了,但是要注意使用PUT必須要指定id,如果沒有會報錯。
其中關于id的作用:
如果id在文檔中不存在,則新增該數(shù)據(jù),就相當于通過POST添加了一條數(shù)據(jù)。如果id在文檔中存在,則修改對應id數(shù)據(jù)。也通過PUT請求既能完成新增操作又能完成修改操作,一般都會直接使用PUT。
但也要知道使用POST新增數(shù)據(jù)這回事。
3刪除數(shù)據(jù)
根據(jù)id即可刪除對應的數(shù)據(jù)。
PS:觀察響應結果result的值就能看出來進行了什么操作。
created對應新增數(shù)據(jù)。update對應修改數(shù)據(jù)。delete對應刪除數(shù)據(jù)。4查詢數(shù)據(jù)
同樣的方式,GET請求即對應的查詢操作,根據(jù)id即可查詢出對應的數(shù)據(jù)。
但是這種方法基本不會用。
要知道用戶在搜索的時候,他怎么可能知道商品對應的id是多少?
所以用戶查詢的時候是使用不到id查詢的,就需要全文檢索技術了,
二、基本的搜索1匹配所有(match_all)
這里query代表的就是一個查詢對象,里面編寫具體的查詢條件是怎樣的:
match_all即代表了匹配所有,也就對應了上圖中的例子。match即匹配查詢,怎么匹配可以自行說明。term即詞條查詢,查詢的時候不考慮分詞。……除此之外,還有很多種查詢類型。其中查詢條件根據(jù)查詢類型的不同會有多種不同的寫法,后續(xù)遇到了就說明。
現(xiàn)在主要講解下match匹配查詢和詞條查詢。
2匹配查詢(match)
為了方便測試,我向索引庫中添加了兩條數(shù)據(jù),現(xiàn)在索引庫中一共有4條數(shù)據(jù):
“小愛手機”,“大愛手機”,“超愛手機”以及“小愛電視”這4條。
match本身也就是匹配的意思,現(xiàn)在匹配和“小愛電視”相關的數(shù)據(jù)。
運行會發(fā)現(xiàn)“手機”相關的數(shù)據(jù)都被搜索出來了,這是為什么呢?
因為“小愛電視”先會被分詞成“小”“愛”以及“電視”,和分詞相關的數(shù)據(jù)都會被搜索出來。
其中響應的結果有個score屬性,也就是得分的意思:score越高表示結果越匹配,
在電商網(wǎng)站上搜索某品牌手機,會發(fā)現(xiàn):
該品牌其它產品也會被搜索出來。手機殼啊什么的也會被搜索出來。就是這么一個道理。
and關系
operator翻譯過來是運算,意思就是將分詞結果通過and連接起來。
查詢條件是“小愛電視”,但是其被分詞為了“小”,“愛”和“電視”,當然具體是不是這樣分詞我不太清楚,但思路是一樣的:
如果不做說明默認or連接,那么查詢到的數(shù)據(jù)的分詞只要滿足任意一個就可以。如果說明是and連接,那么查詢到的數(shù)據(jù)分詞必須要包含“小”,“愛”和“電視”。3詞條匹配(term)
我們在通過詞條匹配查詢“小愛電視”會發(fā)現(xiàn)結果竟然一條數(shù)據(jù)都沒有。
老實說這個結果讓我很是懵逼,想了好久才明白,還不確定對不對,我大致說下:
我們在創(chuàng)建索引庫的時候,title這個字段名類型是text,它是會分詞的,并且分詞器是IK,這個昨天就詳細說明過。
所以今天往索引庫中添加數(shù)據(jù)“小愛電視”,它會被分詞成“小”、“愛”和“電視”。
索引庫中title這個字段是沒有“小愛電視”這個詞的,它被分詞了。
用match查詢時本身也會將查詢條件分詞,所以會被查詢到。而用term查詢時不會將查詢條件分詞,所以查詢不到。最后行有不得反求諸己,我是@劉小愛
一個白天上班晚上學習的95后滬漂,不為其它,只為學會自律做好自己,也愿我的每日打卡能給你帶來勇氣,歡迎點贊關注和評論。
相關文章
- 曹縣怎么富起來的「大城市回老家」
- 宗慶后的電商平臺「當當網(wǎng)李國慶現(xiàn)在怎么樣」
- 娃哈哈互聯(lián)網(wǎng)轉型「怎么加入娃哈哈電商平臺」
- 樂購三明直播節(jié)「綠采鮮」
- 娃哈哈推\\「娃哈哈公主宗馥莉」
- 敷爾佳面膜成本多少錢「敷爾佳面膜一箱進價」
- 宗慶后娃哈哈集團「娃哈哈接班人宗馥莉」
- 鋼材發(fā)布網(wǎng)「鋼材銷售模式」
- 如何打造高效電商團隊「構建高質量發(fā)展助推器」
- 開一個快遞站掙錢嗎「做快遞站能不能賺錢」
- 中秋節(jié)賣水果「中秋節(jié)菜市場」
- 西瓜的銷量「如何提高店內銷量」
- 東南亞賺錢項目「引進東南亞賺錢」
- 拼多多商品顯示低價引流有影響嗎「拼多多調價對店鋪有影響嗎」
- 日本最新創(chuàng)業(yè)項目「新型創(chuàng)業(yè)項目」
- 有海外業(yè)務的快遞公司「沒的溝通」
- 亞馬遜如何選品爆款「亞馬遜如何打造爆款產品」
- 網(wǎng)紅經濟電商「網(wǎng)紅電商模式」
