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

cache子句

更新時(shí)間:

子句說明

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)行開關(guān)設(shè)定,結(jié)合ha3的插件機(jī)制可以靈活的定制各種用戶對(duì)cache的業(yè)務(wù)需求。

子句語(yǔ)法

{
  "cache" : {
  }
}

參數(shù)說明:

  • enabled:指定是否進(jìn)Searcher Cache的開關(guān),其值可以為:true 或者 false

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

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

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

  • cache_filter:用戶可以通過指定cache_filter來對(duì)cache中的結(jié)果進(jìn)行過濾,過濾語(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é)果無法保證時(shí)效性,開啟此項(xiàng)功能可使得這些attribute總是使用最新值,從而保證時(shí)效性。

示例:

{
  "cache" : {
    "enabled" : true,
    "cache_key" : 1234567890,
    "expire_time" : "now()+300",
    "current_time" : 1235,
    "cache_filter" : "a > 10",
    "cache_doc_num_limit" : [200, 3000],
    "refresh_attributes": ["price", "sell_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ù)做限制,主要通過searcher_return_hits來限制。所以searcher上的required top值為:min(start+hit, searcher_return_hits)。

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