91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解密Elasticsearch:深入探究這款搜索和分析引擎

京東云 ? 來(lái)源:jf_75140285 ? 作者:jf_75140285 ? 2024-09-20 14:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

?開(kāi)篇

最近使用Elasticsearch實(shí)現(xiàn)畫(huà)像系統(tǒng),實(shí)現(xiàn)的dmp的數(shù)據(jù)中臺(tái)能力。同時(shí)調(diào)研了競(jìng)品的架構(gòu)選型。以及重溫了redis原理等。特此做一次es的總結(jié)和回顧。網(wǎng)上沒(méi)看到有人用Elasticsearch來(lái)完成畫(huà)像的。我來(lái)做第一次嘗試。

背景說(shuō)完,我們先思考一件事,使用內(nèi)存系統(tǒng)做數(shù)據(jù)庫(kù)。他的優(yōu)點(diǎn)是什么?他的痛點(diǎn)是什么?

?一、原理

這里不在闡述全貌。只聊聊通訊、內(nèi)存、持久化三部分。

通訊

es集群最小單元是三個(gè)節(jié)點(diǎn)。兩個(gè)從節(jié)點(diǎn)搭配保證其高可用也是集群化的基礎(chǔ)。那么節(jié)點(diǎn)之間RPC通訊用的是什么?必然是netty,es基于netty實(shí)現(xiàn)了Netty4Transport的通訊包。初始化Transport后建立Bootstrap,通過(guò)MessageChannelHandler完成接收和轉(zhuǎn)發(fā)。es里區(qū)分server和client,如圖1。序列化使用的json。es在rpc設(shè)計(jì)上偏向于易用、通用、易理解。而不是單追求性能。

wKgaombtGDuAYsf6AACTtnR5aTA620.png

??

圖1

有了netty的保駕護(hù)航使得es放心是使用json序列化。

內(nèi)存

wKgaombtGD2AYwM4AAAvB7I1388822.png

??

圖2

es內(nèi)存分為兩部分【on heap】和【off heap】。on heap這部分由es的jvm管理。off heap則是由lucene管理。on heap 被分為兩部分,一部分可以回收,一部分不能回收。

能回收的部分index buffer存儲(chǔ)新的索引文檔。當(dāng)被填滿時(shí),緩沖區(qū)的文檔會(huì)被寫(xiě)入到磁盤(pán)segment上。node上共享所有shards。

不能被回收的有node query cache、shard request cache、file data cache、segments cache

node query cache是node級(jí)緩存,過(guò)濾后保存在每個(gè)node上,被所有shards共享,使用bitset數(shù)據(jù)結(jié)構(gòu)(布隆優(yōu)化版)關(guān)掉了評(píng)分。使用的LRU淘汰策略。GC無(wú)法回收。

shard request cache是shard級(jí)緩存,每個(gè)shard都有。默認(rèn)情況下該緩存只存儲(chǔ)request結(jié)果size等于0的查詢(xún)。所以該緩存不會(huì)被hits,但卻緩存hits.total,aggregations,suggestions??梢酝ㄟ^(guò)clear cache api清除。使用的LRU淘汰策略。GC無(wú)法回收。

file data cache 是把聚合、排序后的data緩存起來(lái)。初期es是沒(méi)有doc values的,所以聚合、排序后需要有一個(gè)file data來(lái)緩存,避免磁盤(pán)IO。如果沒(méi)有足夠內(nèi)存存儲(chǔ)file data,es會(huì)不斷地從磁盤(pán)加載數(shù)據(jù)到內(nèi)存,并刪除舊的數(shù)據(jù)。這些會(huì)造成磁盤(pán)IO和引發(fā)GC。所以2.x之后版本引入doc values特性,把文檔構(gòu)建在indextime上,存儲(chǔ)到磁盤(pán),通過(guò)memory mapped file方式訪問(wèn)。甚至如果只關(guān)心hits.total,只返回doc id,關(guān)掉doc values。doc values支持keyword和數(shù)值類(lèi)型。text類(lèi)型還是會(huì)創(chuàng)建file data。

segments cache是為了加速查詢(xún),F(xiàn)ST永駐堆內(nèi)內(nèi)存。FST可以理解為前綴樹(shù),加速查詢(xún)。but??!es 7.3版本開(kāi)始把FST交給了堆外內(nèi)存,可以讓節(jié)點(diǎn)支持更多的數(shù)據(jù)。FST在磁盤(pán)上也有對(duì)應(yīng)的持久化文件。

off heap 即Segments Memory,堆外內(nèi)存是給Lucene使用的。 所以建議至少留一半的內(nèi)存給lucene。

es 7.3版本開(kāi)始把tip(terms index)通過(guò)mmp方式加載,交由系統(tǒng)的pagecache管理。除了tip,nvd(norms),dvd(doc values), tim(term dictionary),cfs(compound)類(lèi)型的文件都是由mmp方式加載傳輸,其余都是nio方式。tip off heap后的效果jvm占用量下降了78%左右??梢允褂胈cat/segments API 查看 segments.memory內(nèi)存占用量。

由于對(duì)外內(nèi)存是由操作系統(tǒng)pagecache管理內(nèi)存的。如果發(fā)生回收時(shí),F(xiàn)ST的查詢(xún)會(huì)牽扯到磁盤(pán)IO上,對(duì)查詢(xún)效率影響比較大。可以參考linux pagecache的回收策略使用雙鏈策略。

持久化

es的持久化分為兩部分,一部分類(lèi)似快照,把文件緩存中的segments 刷新(fsync)磁盤(pán)。另一部分是translog日志,它每秒都會(huì)追加操作日志,默認(rèn)30分鐘刷到磁盤(pán)上。es持久化和redis的RDB+AOF模式很像。如下圖

wKgaombtGD6AZlf1AACKOS_NcvA912.png

??

圖3

上圖是一個(gè)完整寫(xiě)入流程。磁盤(pán)也是分segment記錄數(shù)據(jù)。這里濡染跟redis很像。但是內(nèi)部機(jī)制沒(méi)有采用COW(copy-on-write)。這也是查詢(xún)和寫(xiě)入并行時(shí)load被打滿的原因所在。

wKgZombtGECALbCZAACMvZrlAxI716.png

??

圖4

如果刪除操作,并不是馬上物理清除被刪除的文檔,而是標(biāo)記為delete狀態(tài);更新操作,標(biāo)記原有的文檔為delete狀態(tài),再插入一條新的文檔。( 如圖4)

系統(tǒng)中會(huì)產(chǎn)生很多的Segment file文件。所以定期要執(zhí)行合并(merge)操作,將多個(gè)Segment file文件合并為一個(gè)。在合并的過(guò)程中,會(huì)將標(biāo)記刪除的文件進(jìn)行物理刪除操作。

ES記錄每個(gè)Segment file文件的提交點(diǎn)(commit point),用于管理所有的Segment file文件。

小結(jié)

es內(nèi)存和磁盤(pán)的設(shè)計(jì)上非常巧妙。零拷貝上采用mmap方式,磁盤(pán)數(shù)據(jù)映射到off heap,也就是lucene。為了加速數(shù)據(jù)的訪問(wèn),es每個(gè)segment都有會(huì)一些索引數(shù)據(jù)駐留在off heap里;因此segment越多,瓜分掉的off heap也越多,這部分是無(wú)法被GC回收!

結(jié)合以上兩點(diǎn)可以清楚知道為什么es非常吃?xún)?nèi)存了。

二、應(yīng)用

用戶(hù)畫(huà)像系統(tǒng)中有以下難點(diǎn)需要解決。

1.人群預(yù)估:根據(jù)標(biāo)簽選出一類(lèi)人群,如20-25歲的喜歡電商社交的男性。20-25歲∩電商社交∩男性。通過(guò)與或非的運(yùn)算選出符合特征的clientId的個(gè)數(shù)。這是一組。

我們組與組之前也是可以在做交并差的運(yùn)算。如既是20-25歲的喜歡電商社交的男性,又是北京市喜歡擼鐵的男性。(20-25歲∩電商社交∩男性)∩(20-25歲∩擼鐵∩男性)。對(duì)于這樣的遞歸要求在17億多的畫(huà)像庫(kù)中,秒級(jí)返回預(yù)估人數(shù)。

2.人群包圈選:上述圈選出的人群包。 要求分鐘級(jí)構(gòu)建。

3.人包判定:判斷一個(gè)clientId是否存在若干個(gè)人群包中。要求10毫秒返回結(jié)果。

我們先嘗試用es來(lái)解決以上所有問(wèn)題。

人群預(yù)估,最容易想到方案是在服務(wù)端的內(nèi)存中做邏輯運(yùn)算。但是圈選出千萬(wàn)級(jí)的人群包人數(shù)秒級(jí)返回的話在服務(wù)端做代價(jià)非常大。這時(shí)候可以吧計(jì)算壓力拋給es存儲(chǔ)端,像查詢(xún)數(shù)據(jù)庫(kù)一樣。使用一條語(yǔ)句查出我們想要的數(shù)據(jù)來(lái)。

例如mysql

select a.age from a where a.tel in (select b.age from b);

對(duì)應(yīng)的es的dsl類(lèi)似于

{"query":{"bool":{"must":[{"bool":{"must":[{"term":{"a9aa8uk0":{"value":"age18-24","boost":1.0}}},{"term":{"a9ajq480":{"value":"male","boost":1.0}}}],"adjust_pure_negative":true,"boost":1.0}},{"bool":{"adjust_pure_negative":true,"boost":1.0}}],"adjust_pure_negative":true,"boost":1.0}}}

這樣使用es的高檢索性能來(lái)滿足業(yè)務(wù)需求。無(wú)論所少組,組內(nèi)多少的標(biāo)簽。都打成一條dsl語(yǔ)句。來(lái)保證秒級(jí)返回結(jié)果。

使用官方推薦的RestHighLevelClient,實(shí)現(xiàn)方式有三種,一種是拼json字符串,第二種調(diào)用api去拼字符串。我使用第三種方式BoolQueryBuilder來(lái)實(shí)現(xiàn),比較優(yōu)雅。它提供了filter、must、should和mustNot方法。如

     /**
     * Adds a query that must not appear in the matching documents.
     * No {@code null} value allowed.
     */
    public BoolQueryBuilder mustNot(QueryBuilder queryBuilder) {
        if (queryBuilder == null) {
            throw new IllegalArgumentException("inner bool query clause cannot be null");
        }
        mustNotClauses.add(queryBuilder);
        return this;
    }

    /**
     * Gets the queries that must not appear in the matching documents.
     */
    public List mustNot() {
        return this.mustNotClauses;
    }

使用api的可以大大的show下編代碼的能力。

構(gòu)建人群包。目前我們?nèi)Τ鲎畲蟮陌?千多萬(wàn)的clientId。想要分鐘級(jí)別構(gòu)建完(7千萬(wàn)數(shù)據(jù)在條件限制下35分鐘構(gòu)建完)需要注意兩個(gè)地方,一個(gè)是es深度查詢(xún),另一個(gè)是批量寫(xiě)入。

es分頁(yè)有三種方式,深度分頁(yè)有兩種,后兩種都是利用游標(biāo)(scroll和search_after)滾動(dòng)的方式檢索。

scroll需要維護(hù)游標(biāo)狀態(tài),每一個(gè)線程都會(huì)創(chuàng)建一個(gè)32位唯一scroll id,每次查詢(xún)都要帶上唯一的scroll id。如果多個(gè)線程就要維護(hù)多個(gè)游標(biāo)狀態(tài)。search_after與scroll方式相似。但是它的參數(shù)是無(wú)狀態(tài)的,始終會(huì)針對(duì)對(duì)新版本的搜索器進(jìn)行解析。它的排序順序會(huì)在滾動(dòng)中更改。scroll原理是將doc id結(jié)果集保留在協(xié)調(diào)節(jié)點(diǎn)的上下文里,每次滾動(dòng)分批獲取。只需要根據(jù)size在每個(gè)shard內(nèi)部按照順序取回結(jié)果即可。

寫(xiě)入時(shí)使用線程池來(lái)做,注意使用的阻塞隊(duì)列的大小,還要選擇適的拒絕策略(這里不需要拋異常的策略)。批量如果還是寫(xiě)到es中(比如做了讀寫(xiě)分離)寫(xiě)入時(shí)除了要多線程外,還有優(yōu)化寫(xiě)入時(shí)的refresh policy。

人包判定接口,由于整條業(yè)務(wù)鏈路非常長(zhǎng),這塊檢索,上游服務(wù)設(shè)置的熔斷時(shí)間是10ms。所以?xún)?yōu)化要優(yōu)化es的查詢(xún)(也可以redis)畢竟沒(méi)負(fù)責(zé)邏輯處理。使用線程池解決IO密集型優(yōu)化后可以達(dá)到1ms。tp99高峰在4ms。

?三、優(yōu)化、瓶頸與解決方案

以上是針對(duì)業(yè)務(wù)需求使用es的解題方式。還需要做響應(yīng)的優(yōu)化。同時(shí)也遇到es的瓶頸。

1.首先是mapping的優(yōu)化。畫(huà)像的mapping中fields中的type是keyword,index要關(guān)掉。人包中的fields中的doc value關(guān)掉。畫(huà)像是要精確匹配;人包判定只需要結(jié)果而不需要取值。es api上人包計(jì)算使用filter去掉評(píng)分,filter內(nèi)部使用bitset的布隆數(shù)據(jù)結(jié)構(gòu),但是需要對(duì)數(shù)據(jù)預(yù)熱。寫(xiě)入時(shí)線程不易過(guò)多,和核心數(shù)相同即可;調(diào)整refresh policy等級(jí)。手動(dòng)刷盤(pán),構(gòu)建時(shí)index.refresh_interval 調(diào)整-1,需要注意的是停止刷盤(pán)會(huì)加大堆內(nèi)存,需要結(jié)合業(yè)務(wù)調(diào)整刷盤(pán)頻率。構(gòu)建大的人群包可以將index拆分成若干個(gè)。分散存儲(chǔ)可以提高響應(yīng)。目前幾十個(gè)人群包還是能支撐。如果日后成長(zhǎng)到幾百個(gè)的時(shí)候。就需要使用bitmap來(lái)構(gòu)建存儲(chǔ)人群包。es對(duì)檢索性能很卓越。但是如遇到寫(xiě)操作和查操作并行時(shí),就不是他擅長(zhǎng)的。比如人群包的數(shù)據(jù)是每天都在變化的。這個(gè)時(shí)候es的內(nèi)存和磁盤(pán)io會(huì)非常高。上百個(gè)包時(shí)我們可以用redis來(lái)存。也可以選擇使用MongoDB來(lái)存人包數(shù)據(jù)。

四、總結(jié)

以上是我們使用Elasticsearch來(lái)解決業(yè)務(wù)上的難點(diǎn)。同時(shí)發(fā)現(xiàn)他的持久化沒(méi)有使用COW(copy-on-write)方式。導(dǎo)致在實(shí)時(shí)寫(xiě)的時(shí)候檢索性能降低。

使用內(nèi)存系統(tǒng)做數(shù)據(jù)源有點(diǎn)非常明顯,就是檢索塊!尤其再實(shí)時(shí)場(chǎng)景下堪稱(chēng)利器。同時(shí)痛點(diǎn)也很明顯,實(shí)時(shí)寫(xiě)會(huì)拉低檢索性能。當(dāng)然我們可以做讀寫(xiě)分離,拆分index等方案。

除了Elasticsearch,我們還可以選用ClickHouse,ck也是支持bitmap數(shù)據(jù)結(jié)構(gòu)。甚至可以上Pilosa,pilosa本就是BitMap Database。

?

?

參考

?貝殼DMP平臺(tái)建設(shè)實(shí)踐?

?Mapping parameters | Elasticsearch Reference [7.10] | Elastic?

?Elasticsearch 7.3 的 offheap 原理?

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    4020

    瀏覽量

    68369
  • 引擎
    +關(guān)注

    關(guān)注

    1

    文章

    368

    瀏覽量

    23467
  • Elasticsearch
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    3146
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    API數(shù)據(jù)分析:淘寶流量來(lái)源分析,渠道優(yōu)化!

    優(yōu)化渠道策略。我們將使用Python作為工具,結(jié)合數(shù)據(jù)分析和統(tǒng)計(jì)方法,確保過(guò)程真實(shí)可靠。 1. 理解淘寶流量來(lái)源 淘寶流量主要來(lái)自多個(gè)渠道,包括: 直接訪問(wèn) :用戶(hù)直接輸入淘寶網(wǎng)址或從收藏夾訪問(wèn)。 搜索引擎 :如百度或淘寶內(nèi)搜索
    的頭像 發(fā)表于 01-23 13:42 ?206次閱讀
    API數(shù)據(jù)<b class='flag-5'>分析</b>:淘寶流量來(lái)源<b class='flag-5'>分析</b>,渠道優(yōu)化!

    深入探究 SN74LV221A-Q1 雙單穩(wěn)態(tài)多諧振蕩器

    深入探究 SN74LV221A-Q1 雙單穩(wěn)態(tài)多諧振蕩器 引言 在電子設(shè)計(jì)領(lǐng)域,多諧振蕩器是常見(jiàn)的基礎(chǔ)電路元件,用于產(chǎn)生特定頻率和時(shí)長(zhǎng)的脈沖信號(hào)。TI公司的SN74LV221A-Q1雙單穩(wěn)態(tài)
    的頭像 發(fā)表于 01-18 15:55 ?686次閱讀

    邁富時(shí)GEO服務(wù):技術(shù)驅(qū)動(dòng)AI搜索時(shí)代的企業(yè)增長(zhǎng)新引擎

    導(dǎo)語(yǔ): 隨著DeepSeek、豆包、文心一言等生成式AI搜索引擎的快速普及,用戶(hù)獲取信息的方式正從傳統(tǒng)"鏈接點(diǎn)擊"轉(zhuǎn)向"AI直接對(duì)話"。在這場(chǎng)深刻的信息檢索范式變革中,企業(yè)如何讓品牌內(nèi)容被AI系統(tǒng)
    的頭像 發(fā)表于 01-17 21:20 ?282次閱讀

    從0到1搭建實(shí)時(shí)日志監(jiān)控系統(tǒng):基于WebSocket + Elasticsearch的實(shí)戰(zhàn)方案

    低成本、實(shí)時(shí)性高的日志監(jiān)控系統(tǒng)。 2. 技術(shù)選型 數(shù)據(jù)存儲(chǔ) :Elasticsearch(高效檢索與聚合) 實(shí)時(shí)推送 :WebSocket(全雙工通信,避免HTTP輪詢(xún)) 后端服務(wù) :Node.js
    發(fā)表于 01-09 16:43

    單片機(jī)解密是什么?

    單片機(jī)解密是什么? 單片機(jī)解密又叫單片機(jī)**,芯片解密,IC解密,但是這嚴(yán)格說(shuō)來(lái)這幾種稱(chēng)呼都不科學(xué),但已經(jīng)成 了習(xí)慣叫法,我們把CPLD解密
    發(fā)表于 12-30 08:19

    深入探究 SN65LVELT23:一款高性能的電平轉(zhuǎn)換器

    深入探究 SN65LVELT23:一款高性能的電平轉(zhuǎn)換器 作為一名電子工程師,在日常的硬件設(shè)計(jì)中,電平轉(zhuǎn)換是一個(gè)常見(jiàn)且關(guān)鍵的環(huán)節(jié)。今天,咱們就來(lái)深入聊聊德州儀器(TI)的 SN65LVELT23
    的頭像 發(fā)表于 12-25 09:40 ?310次閱讀

    一文讀懂!AI搜索既是趨勢(shì)也是未來(lái),一定不可錯(cuò)過(guò)的GEO機(jī)遇

    AI對(duì)搜索來(lái)說(shuō)不是替代,而是進(jìn)化,是搜索體驗(yàn)的下一個(gè)階段。并已在眾多你意想不到的場(chǎng)景中深入我們的生活,應(yīng)用非常廣泛,到處都有AI搜索的影子。
    的頭像 發(fā)表于 12-12 17:38 ?2632次閱讀

    線性搜索與二分搜索介紹

    線性搜索(Linear Search):從數(shù)組的第一個(gè)元素開(kāi)始,依次將當(dāng)前元素與目標(biāo)值進(jìn)行比較,直到找到目標(biāo)值或搜索完整個(gè)數(shù)組。 二分搜索(Binary Search):在有序數(shù)組中查找某一特定元素
    發(fā)表于 12-01 07:36

    蘇寧搜索接口深析:全品類(lèi)智能分軌如何解決 O2O 電商的搜索痛點(diǎn)?

    本文深度解析蘇寧全品類(lèi)O2O搜索接口核心技術(shù),涵蓋智能分軌引擎、庫(kù)存聯(lián)動(dòng)系統(tǒng)與高并發(fā)架構(gòu)設(shè)計(jì),解決多品類(lèi)參數(shù)識(shí)別、線上線下庫(kù)存同步等電商搜索痛點(diǎn),助力構(gòu)建高效精準(zhǔn)的現(xiàn)代電商搜索體系。
    的頭像 發(fā)表于 10-28 16:20 ?898次閱讀
    蘇寧<b class='flag-5'>搜索</b>接口深析:全品類(lèi)智能分軌如何解決 O2O 電商的<b class='flag-5'>搜索</b>痛點(diǎn)?

    微店關(guān)鍵詞搜索接口核心突破:動(dòng)態(tài)權(quán)重算法與語(yǔ)義引擎的實(shí)戰(zhàn)落地

    本文詳解微店搜索接口從基礎(chǔ)匹配到智能推薦的技術(shù)進(jìn)階路徑,涵蓋動(dòng)態(tài)權(quán)重、語(yǔ)義理解與行為閉環(huán)三大創(chuàng)新,助力商家提升搜索轉(zhuǎn)化率、商品曝光與用戶(hù)留存,實(shí)現(xiàn)技術(shù)驅(qū)動(dòng)的業(yè)績(jī)?cè)鲩L(zhǎng)。
    的頭像 發(fā)表于 10-15 14:38 ?440次閱讀

    AI搜索一夜變天,專(zhuān)為Agent做搜索的賽道能否誕生百億美金新巨頭?

    。微軟這一波斷供,可真是要急死開(kāi)發(fā)者們啊。 但為啥突然斷供? 原來(lái)是 看好AI搜索 ,想要和Azure服務(wù)深入綁定,提
    的頭像 發(fā)表于 07-24 13:59 ?674次閱讀
    AI<b class='flag-5'>搜索</b>一夜變天,專(zhuān)為Agent做<b class='flag-5'>搜索</b>的賽道能否誕生百億美金新巨頭?

    根據(jù)標(biāo)題利用API優(yōu)化電商搜索功能:提升轉(zhuǎn)化率

    、用戶(hù)流失率高。本文探討如何利用API(應(yīng)用程序編程接口)基于商品標(biāo)題優(yōu)化搜索功能,實(shí)現(xiàn)更智能的匹配,從而提升轉(zhuǎn)化率。文章將從問(wèn)題分析、解決方案、實(shí)現(xiàn)步驟和預(yù)期效果四個(gè)方面展開(kāi),確保內(nèi)容真實(shí)可靠。 1. 問(wèn)題分析:電
    的頭像 發(fā)表于 07-21 16:23 ?582次閱讀
    根據(jù)標(biāo)題利用API優(yōu)化電商<b class='flag-5'>搜索</b>功能:提升轉(zhuǎn)化率

    GLAD:利用全息圖實(shí)現(xiàn)加密和解密

    概述 全息圖能夠通過(guò)兩束相干光相干疊加獲得。用其中一束光照射生成的全息圖就可以得到另一束相干光,這樣全息圖就可以用作加密/解密的裝置了。 系統(tǒng)描述 在本例中一個(gè)復(fù)雜的隨機(jī)圖樣作為參考光源,用來(lái)恢復(fù)
    發(fā)表于 06-13 08:42

    單節(jié)點(diǎn)Elasticsearch+Filebeat+Kibana安裝指南

    單節(jié)點(diǎn)Elasticsearch+Filebeat+Kibana安裝指南
    的頭像 發(fā)表于 05-21 11:06 ?1234次閱讀
    單節(jié)點(diǎn)<b class='flag-5'>Elasticsearch</b>+Filebeat+Kibana安裝指南

    RAKsmart服務(wù)器SEO優(yōu)化優(yōu)勢(shì)分析

    在RAKsmart服務(wù)器上搭建SEO網(wǎng)站,可以借助其基礎(chǔ)設(shè)施和服務(wù)特性,從技術(shù)層面優(yōu)化搜索引擎排名。以下是具體優(yōu)勢(shì)及分析,主機(jī)推薦小編為您整理發(fā)布RAKsmart服務(wù)器SEO優(yōu)化優(yōu)勢(shì)分析
    的頭像 發(fā)表于 04-22 10:12 ?677次閱讀