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

searcher_cache子句

更新時(shí)間:

子句說(shuō)明

Searcher Cache對(duì)searcher上request的最終查詢結(jié)果(精排或者打散后的結(jié)果)進(jìn)行緩存,減少重復(fù)的query的粗排和精排計(jì)算量,提高單個(gè)searcher的處理能力。對(duì)于某個(gè)request的結(jié)果是否應(yīng)該進(jìn)cache,以及該request對(duì)應(yīng)的cache結(jié)果如何失效等策略都是和具體業(yè)務(wù)邏輯緊密相關(guān)的,Searcher Cache允許用戶在配置和查詢串中對(duì)不同的策略進(jìn)行開(kāi)關(guān)設(shè)定,結(jié)合ha3的插件機(jī)制可以靈活的定制各種用戶對(duì)cache的業(yè)務(wù)需求。

子句語(yǔ)法

'searcher_cache='searcher_cache_clause
searcher_cache_clause := ['use:'cache_use_flag]                              (1)
[',key:'hash_sign]                                                           (2)
[',expire_time:'expire_time_expr]                                            (3)
[',cur_time:'current_time]                                                   (4)
[',cache_filter:'filter_expr]                                                (5)
[',cache_doc_num_limit:'cache_doc_num_limit_config]                          (6)
[',refresh_attributes:'refresh_attributes_config]                            (7)
cache_use_flag := 'yes' | 'no'
hash_sign := NUMBER
expire_time_expr := va_expression
current_time := NUMBER
filter_expr := va_expression
cache_doc_num_limit_config := cache_doc_num; cache_doc_num
cache_doc_num := NUMBER
refresh_attributes_config := attribute_name;attribute_name
flag := 'yes' | 'no'

參數(shù)說(shuō)明:

  • use:指定是否進(jìn)Searcher Cache的開(kāi)關(guān),其值可以為:yes 或者 no,其他值在解析時(shí)會(huì)視為錯(cuò)誤。

  • key:指定當(dāng)前request的key,這個(gè)key由用戶生成并在request指定。key的選擇和生成策略會(huì)影響Searcher Cache的命中率,每個(gè)應(yīng)用應(yīng)該根據(jù)具體的使用場(chǎng)景和業(yè)務(wù)特點(diǎn)來(lái)選擇生成合適的key,來(lái)保證Searcher Cache的命中率。如果沒(méi)有填默認(rèn)對(duì)整個(gè)request進(jìn)行hash作為cache的key。

  • expire_time:request在Searcher Cache中的對(duì)應(yīng)的item都是有一個(gè)過(guò)期時(shí)間,確保結(jié)果的時(shí)效性。過(guò)期時(shí)間的設(shè)定是和具體應(yīng)用密切相關(guān)的,如果應(yīng)用不關(guān)心結(jié)果的時(shí)效性或者沒(méi)有增量更新的情況下甚至可以忽略expire_time的指定,默認(rèn)是該request對(duì)應(yīng)的item永不過(guò)期,直到cache的lru策略將其移除。expire_time是一個(gè)ha3支持的任意表達(dá)式(attribute expression, function expression, virtual attribute expression以及有前三者組成的算數(shù)表達(dá)式),返回值必須類型為uint32,否則報(bào)錯(cuò),expirte_time所指定的過(guò)期時(shí)間的單位是s。Searcher Cache內(nèi)部,在將request的查詢結(jié)果放進(jìn)cache之前,會(huì)使用expire_time表達(dá)式為結(jié)果中的每個(gè)doc計(jì)算一個(gè)過(guò)期時(shí)間,然后取最小的過(guò)期時(shí)間作為該request對(duì)應(yīng)的整個(gè)cache結(jié)果的過(guò)期時(shí)間。

  • cur_time:如果request指定了cur_time,則Searcher Cache通過(guò)比較item的過(guò)期時(shí)間和cur_time來(lái)判斷當(dāng)前request對(duì)應(yīng)的item是否超時(shí)時(shí);如果沒(méi)有指定cur_time則過(guò)期時(shí)間與系統(tǒng)的當(dāng)前時(shí)間進(jìn)行比較。

  • cache_filter:用戶可以通過(guò)指定cache_filter來(lái)對(duì)cache中的結(jié)果進(jìn)行過(guò)濾,過(guò)濾語(yǔ)法和普通的filter相同。

  • cache_doc_num_limit:指定request的查詢結(jié)果進(jìn)cache的doc數(shù),為了得到更好的cache 命中率,需要在每個(gè)查詢中指定。默認(rèn)值為 200;3000,可以配置成多級(jí)的100;200;300。例如當(dāng)配置為cache_doc_num_limit:280;780時(shí),這時(shí)cache 文檔的策略為:searcher 中的required_topK <= 280時(shí),cache緩存280個(gè)doc;當(dāng)280 < requried_topK <= 780時(shí),緩存780個(gè)doc;required_topK > 780時(shí),保留required_topK個(gè)文檔。

  • refresh_attributes: 指定cache命中時(shí)刷新的attribute,目前只支持schema中attribute,不支持virtual_attribute。cache結(jié)果存在時(shí)間較長(zhǎng)時(shí),某些attribute的值可能已經(jīng)被實(shí)時(shí)更新了,因此cache中的結(jié)果無(wú)法保證時(shí)效性,開(kāi)啟此項(xiàng)功能可使得這些attribute總是使用最新值,從而保證時(shí)效性

?

示例:

searcher_cache=use:yes,key:xxx,expire_time:func(end_time, 15, 10),cur_time:123456,cache_filter:expr,cache_doc_num_limit:280;780,refresh_attributes:price;count

注意事項(xiàng):

  • searcher_cache是可選子句。

  • 當(dāng)前采用的Cache 文檔個(gè)數(shù)策略與searcher上required topK相關(guān)。這個(gè)required_topK與request中的start + hit值相關(guān)。當(dāng)存在多個(gè)searcher時(shí),QRS會(huì)對(duì)每個(gè)searcher返回的文檔個(gè)數(shù)做限制,主要通過(guò)searcher_return_hits來(lái)限制。所以searcher上的required_topK值為:min(start+hit, searcher_return_hits)。

  • Searcher Cache緩存的是精排后的結(jié)果,為了保證有足夠的結(jié)果進(jìn)cache,必須使得有相應(yīng)數(shù)目的結(jié)果能在精排后被留下來(lái),可以在rerank scorer中指定rank_size或者request中的config子句指定rerank_size。