日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

召回引擎版簡介

OpenSearch-召回引擎版是阿里巴巴自主研發(fā)的大規(guī)模分布式搜索引擎,支持了淘寶、天貓、菜鳥、優(yōu)酷乃至海外電商在內(nèi)整個集團的搜索業(yè)務(wù),同時也支撐了阿里云上的開放搜索業(yè)務(wù)。OpenSearch-召回引擎版經(jīng)過多年的發(fā)展,在滿足業(yè)務(wù)高可用、高時效性、低成本等需求的同時,也沉淀出一套自動化運維系統(tǒng),使用它用戶可以根據(jù)自己的業(yè)務(wù)特點方便的構(gòu)建自己的搜索服務(wù)。

OpenSearch-召回引擎版架構(gòu)

1

OpenSearch-召回引擎版主要有三部分構(gòu)成,在線系統(tǒng)、離線索引構(gòu)建系統(tǒng)、管控系統(tǒng)。在線系統(tǒng)加載索引,并提供檢索服務(wù);離線索引構(gòu)建系統(tǒng)將用戶的數(shù)據(jù)構(gòu)建成索引,包括全量索引、批次增量索引、實時索引;管控系統(tǒng)為用戶提供自動化運維服務(wù),方便用戶創(chuàng)建集群并對集群進行各種運維操作。

?

在線系統(tǒng)

在線系統(tǒng)是一個分布式檢索系統(tǒng),由三個角色構(gòu)成:admin、qrs和searcher,下面分別介紹:

HA Admin

HA Admin是在線系統(tǒng)的大腦,每個物理集群都會有最少一個admin。HA admin負載接受管控系統(tǒng)的命令,并根據(jù)命令向Qrs和Searcher發(fā)送各種運維指令。另外admin還會實時監(jiān)控Qrs和Searcher節(jié)點的運行情況,對于心跳異常的節(jié)點admin會自動替換。

?

Qrs(查詢節(jié)點)

Qrs也叫查詢節(jié)點或者查詢與結(jié)果處理節(jié)點,它對輸入的查詢請求進行解析、校驗或者改寫,并將解析之后的請求轉(zhuǎn)發(fā)給Searcher執(zhí)行,收集并合并Searcher返回的結(jié)果,加工之后返回給用戶。查詢節(jié)點是一個計算型節(jié)點,不加載用戶的數(shù)據(jù),一般不需要太多的內(nèi)存,但是當返回的文檔個數(shù)較多或者統(tǒng)計產(chǎn)出的條目過多時才會消耗大量內(nèi)存。如果查詢節(jié)點的處理能力達到瓶頸,可以擴充查詢節(jié)點的備份數(shù)或者擴查詢節(jié)點的規(guī)格。

?

Searcher(數(shù)據(jù)節(jié)點)

Searcher加載用戶的索引數(shù)據(jù)并根據(jù)查詢檢索文檔、對文檔進行過濾、統(tǒng)計、排序等操作。Searcher上的索引是可以分片的,分片的含義是對分片字段哈希到[0,65535]之間,將這個區(qū)間分成指定的片數(shù)(構(gòu)建索引時指定)。這樣對于數(shù)據(jù)量較大或者對查詢性能有要求的集群,就可以通過分片提高單次請求的處理性能。如果想提高整個集群的處理能力(比如從支持1000 qps提升到10000 qps)可以通過擴備份的方式進行。擴備份不是只擴一個Searcher節(jié)點,而是擴承載所有數(shù)據(jù)的多個Searcher節(jié)點(多個分片要做成完整的[0,65535]區(qū)間)。

?

離線索引構(gòu)建系統(tǒng)

OpenSearch-召回引擎版是一個讀寫分離的搜索引擎,數(shù)據(jù)的寫入不影響在線檢索服務(wù),所以能夠在支撐大批量數(shù)據(jù)實時寫入的同時,也能保證查詢服務(wù)足夠穩(wěn)定。索引構(gòu)建系統(tǒng)主要包括兩個流程(全量和增量),每個流程中都會有三個角色來處理數(shù)據(jù)、構(gòu)建索引。

全量流程

OpenSearch-召回引擎版的索引是支持多版本的,每個索引版本都會基于一份原始數(shù)據(jù)來構(gòu)建(API數(shù)據(jù)源默認為空數(shù)據(jù)),在第一次構(gòu)建時啟動的就是全量流程。全量流程是一個非常駐任務(wù),數(shù)據(jù)處理完成,產(chǎn)出一份全量索引,全量流程結(jié)束。產(chǎn)出的全量索引通過全量切換,切換到在線集群提供檢索服務(wù),后續(xù)的增量數(shù)據(jù)更新都是更新到新產(chǎn)出的全量版本中。目前全量任務(wù)僅支持從MaxCompute數(shù)據(jù)源或者HDFS數(shù)據(jù)源中讀取全量數(shù)據(jù)。

多索引版本的支持可以保證數(shù)據(jù)變更的穩(wěn)定性,當索引結(jié)構(gòu)變化或者數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時,通過全量產(chǎn)出新的索引是和老版本的索引完全隔離的,如果變更有問題可以及時回滾。

全量索引的產(chǎn)出需要經(jīng)過數(shù)據(jù)處理,索引構(gòu)建,索引合并等流程,在各個階段可以通過設(shè)置索引處理的并發(fā)度提高全量索引的產(chǎn)出速度。

增量流程

全量索引產(chǎn)出之后,后續(xù)數(shù)據(jù)的更新都需要通過API推送完成。API推送的數(shù)據(jù)有兩條處理鏈路:經(jīng)過Processor處理之后直接推送到數(shù)據(jù)節(jié)點在內(nèi)存中構(gòu)建實時索引;處理之后的數(shù)據(jù)經(jīng)過Builder和Merger構(gòu)建出增量索引,通過增量切換的形式切換到數(shù)據(jù)節(jié)點。增量切換時會清理內(nèi)存中的實時索引,將增量中已經(jīng)包含的數(shù)據(jù)從實時內(nèi)存中刪除,減輕數(shù)據(jù)節(jié)點內(nèi)存壓力。

增量流程是一個常駐任務(wù),每一個索引表都會對應(yīng)一個增量流程,可以通過控制增量流程各個節(jié)點的并發(fā)度來提高實時數(shù)據(jù)的處理能力。

Processor

Processor處理原始文檔,主要包括分詞或者根據(jù)業(yè)務(wù)邏輯對字段內(nèi)容進行改寫。Processor在增量流程中是一個常駐的分布式服務(wù),可以通過配置調(diào)節(jié)Processor的并發(fā)度來提高數(shù)據(jù)處理能力。Processor中支持配置多個數(shù)據(jù)處理插件,目前還未對外開放,如果有需求可以聯(lián)系我們。

Builder

Builder將處理之后的文檔構(gòu)建成索引。Builder不是一個常駐任務(wù),它和Merger交替執(zhí)行,每次Build完一次數(shù)據(jù)就會啟動依賴Merger任務(wù)對索引進行整理,整理之后的索引才會切換到數(shù)據(jù)節(jié)點。

Merger

Merger將Builder產(chǎn)出的索引數(shù)據(jù)作合并整理,使產(chǎn)出的索引更加的整齊緊湊。隨著數(shù)據(jù)更新,老的索引中必然會有很多被標記刪除的數(shù)據(jù),Merger會按照指定的索引合并策略將這些數(shù)據(jù)進行清理合并。

召回引擎版索引結(jié)構(gòu)

|-- generation_0
        |-- partition_0_32767
        |-- index_format_version
        |-- index_partition_meta
        |-- schema.json
  |-- version.0
        |-- segment_0
            |-- segment_info
                        |-- attribute
                        |-- deletionmap
             |-- index
      |-- summary
    |-- segment_1
            |-- segment_info
                        |-- attribute
                        |-- deletionmap
             |-- index
      |-- summary
         |-- partition_32768_65535
        |-- index_format_version
        |-- index_partition_meta
        |-- schema.json
  |-- version.0
        |-- segment_0
            |-- segment_info
                        |-- attribute
                        |-- deletionmap
             |-- index
      |-- summary
    |-- segment_1
            |-- segment_info
                        |-- attribute
                        |-- deletionmap
             |-- index
      |-- summary

結(jié)構(gòu)名稱

說明

generation

generation_x是引擎區(qū)分不同版本全量索引的標識。

partition

partition是searcher加載索引的基本單位。如果一個partition中數(shù)據(jù)過多,會導(dǎo)致searcher性能降低。線上數(shù)據(jù)一般通過劃分多個partition的方式來保證每個searcher的檢索效率。

schema.json

索引配置文件。主要記錄fields,index, attribute 和summary等信息。引擎通過該文件來加載索引。

version.0

version文件。主要記錄當前partition中引擎需要加載的segment和最新doc的時間戳。在實時build中,引擎會根據(jù)增量version的時間戳過濾舊的原始文檔。

segment

segment是索引組成的基本單位。segment中包含了文檔的倒排和正排結(jié)構(gòu)。index builder每次dump都會生成一個segment。多個segment可以通過merge策略進行合并。一個partition中可用的segment在version文件中指明。

segment_info

segment信息摘要。記錄了當前segment中文檔數(shù)目,當前segment是否merge過,locator信息和最新doc時間戳信息。

index

倒排索引目錄。

attribute

正排索引目錄。

deletionmap

刪除的doc記錄。

summary

摘要索引目錄。

管控系統(tǒng)

管控系統(tǒng)是一個OpenSearch-召回引擎版實例的運維平臺,這個平臺大大節(jié)省了我們的運維成本,關(guān)于這個運維平臺的介紹請參考召回引擎版產(chǎn)品文檔

召回引擎版特性

穩(wěn)定

召回引擎版底層采用c++實現(xiàn),經(jīng)過十多年的發(fā)展,支撐了多個核心業(yè)務(wù),非常穩(wěn)定,非常適用于對穩(wěn)定性要求較高的核心搜索場景。

高效

OpenSearch-召回引擎版是一個分布式搜索引擎,可以高效的支持海量數(shù)據(jù)的檢索,同時也支持數(shù)據(jù)的實時更新(秒級生效),非常適用于對查詢耗時敏感、時效性要求高的搜索場景。

低成本

OpenSearch-召回引擎版支持多種索引壓縮策略,同時支持多值索引加載測試,能夠以較低的成本滿足用戶的查詢需求。

功能豐富

OpenSearch-召回引擎版支持多種分析器類型、多種索引類型、強大的查詢語法,能夠很好的滿足用戶的檢索需求。同時我們還提供插件機制,方便用戶定制自己的業(yè)務(wù)處理邏輯。

SQL查詢

OpenSearch-召回引擎版支持SQL查詢語法,支持多表在線join,提供豐富的內(nèi)置UDF函數(shù)和UDF函數(shù)定制機制,以滿足不同用戶的檢索需求。在運維系統(tǒng)中我們即將集成SQL studio,方便用戶進行SQL開發(fā)和測試。