記一次生產Slor分組的bug

2021-10-01 21:26:32 字數 1162 閱讀 3157

solr的facet有多種形式,它們的引數不盡相同。

可以用於text或者string型別的字段。

引數說明

facet.field

需要做facet查詢的字段,必須指定,否則其他引數無效

facet.sort

排序規則,可以是count(預設值,由大到小)或index(字典順序)

facet.limit

控制返回的數量,預設100

facet.missing

控制是否考慮沒有facet欄位,預設false

由於當時用到分組的時候,也是在網上找的部落格,沒有仔細的研究,結果當分組條數過多的時候就出現問題了,發現返回的結果少了,但是總數沒有變。

而且返回的條數總是100條,因為之前要對分組後的資料還要擷取去重,所以也沒有發現這個問題。

解決:條數改的多一些

solrquery query = new solrquery();//

建立乙個新的查詢

query.setquery(keywords);

query.setfacet(

true);//

設定facet=on

query.addfacetfield(new string );//

設定需要facet的字段

query.setfacetlimit(10000);// 限制facet返回的數量

如果是group分組的話

solrquery query = new solrquery();//

建立乙個新的查詢

query.setquery(keywords);

query.setparam(groupparams.group,

true);//

是否分組

query.setparam(groupparams.group_field,"v1_teacherid");//

分組的域

query.setparam(groupparams.group_limit,"100");//

每組顯示的個數,預設為1query.setstart(1); //起始索引值

query.setrows(10000);//顯示幾條資料

記一次生產報too man open files

有一天私有雲無法訪問,馬上聯絡廠商,最後廠商發現好多容器不停重啟,經過日誌檢視發現平台開啟檔案控制代碼太多,很奇怪,就開始排查,最後發現乙個埠,定位到應用spring actuator.這個應用是我為了監控微服務而發布的乙個監控應用,馬上看日誌,發現應用報錯,too many open files,...

記一次生產請求耗時的問題

最近發現lb上記錄的request time比upstream response time大的比較多,例如upstream response time記錄是0.062,request time記錄的就是5.064等等。整個耗時很反常。而且出現這個問題基本上都是乙個返回值比較大的介面,基本上返回值是1...

記一次生產故障,nginx503

問題概述 web頁面進行login操作,控制台報503 系統版本 centos 6.8 服務架構 前端兩個nginx 伺服器,可外網,中間兩台業務伺服器,使用docker起兩組服務 後端3臺redis 哨兵 和三颱mongo 問題分析 由控制台報503可知是伺服器內部原因,可能是網路或者服務方面。解...