導(dǎo)出Solr結(jié)果集

2018-12-05 13:53 更新

可以使用特殊的秩查詢解析器和響應(yīng)編寫(xiě)器來(lái)導(dǎo)出完全排序的結(jié)果集,這種解析器和響應(yīng)編寫(xiě)器專門(mén)設(shè)計(jì)用于處理涉及排序和導(dǎo)出數(shù)百萬(wàn)條記錄的場(chǎng)景。

此功能使用 stream 排序技術(shù),在毫秒內(nèi)開(kāi)始發(fā)送記錄,并繼續(xù)對(duì)結(jié)果進(jìn)行 stream 處理,直到整個(gè)結(jié)果集被排序并且導(dǎo)出為止。

此功能可能有用的情況包括:會(huì)話分析、分布式合并聯(lián)接、時(shí)間序列匯總、高基數(shù)字段上的聚合、完全分布式字段合并和基于排序的統(tǒng)計(jì)信息。

字段要求

字段要求所有正在排序和導(dǎo)出的字段必須將 docValues 設(shè)置為 true。有關(guān)詳細(xì)信息, 請(qǐng)參閱關(guān)于 DocValues 的一節(jié)。

/ export RequestHandler

/export 請(qǐng)求處理程序具有適當(dāng)配置,是 Solr 的現(xiàn)成請(qǐng)求處理程序之一,有關(guān)更多信息,請(qǐng)參閱隱式 RequestHandlers。

請(qǐng)注意,這個(gè)請(qǐng)求處理程序的屬性被定義為“不變量”,這意味著它們不能被其他時(shí)間傳遞的其他屬性(例如在查詢時(shí))重寫(xiě)。

請(qǐng)求結(jié)果導(dǎo)出

您可以使用 /export 來(lái)請(qǐng)求導(dǎo)出查詢的結(jié)果集。

所有查詢都必須包括 sort 和 fl 參數(shù),否則查詢將返回一個(gè)錯(cuò)誤。過(guò)濾器查詢也被支持。

受支持的響應(yīng)編寫(xiě)器是 json 和 javabin。由于向后兼容性的原因,wt=xsort也被支持作為輸入,但是 wt=xsort 與 wt=json 的行為相同。默認(rèn)的輸出格式是 json。

以下是一些索引日志數(shù)據(jù)的導(dǎo)出請(qǐng)求示例:

http://localhost:8983/solr/core_name/export?q=my-query&sort=severity+desc,timestamp+desc&fl=severity,timestamp,msg

指定排序標(biāo)準(zhǔn)

sort 屬性定義了文檔在導(dǎo)出的結(jié)果集中的排序方式。結(jié)果可以通過(guò)字段類型為 int,long,float,double,string 的任何字段進(jìn)行排序。排序字段必須是單值字段。

最多可以為每個(gè)請(qǐng)求指定四個(gè)排序字段,使用 “asc” 或 “desc” 屬性。

指定字段列表

fl 屬性定義將將隨結(jié)果集導(dǎo)出的字段。任何可以排序的字段類型(即 int,long,float,double,string,date,boolean)都可以在字段列表中使用。這些字段可以是單值或多值的。但是,目前還不支持返回分?jǐn)?shù)和通配符。

分布式支持

請(qǐng)參見(jiàn)用于分布式支持的部分流表達(dá)式。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)