solr查詢列表並高亮顯示

2021-09-09 07:34:05 字數 1614 閱讀 1955

private mapsearchlist(map searchmap) 

// 1.3按品牌篩選

if (!"".equals(searchmap.get("brand")))

// 1.4按規格篩選

if (searchmap.get("spec") != null)

} // 1.5**篩選

if (!"".equals(searchmap.get("price")))

if (!price[1].equals("*"))

} // 1.6 分頁查詢

integer currpage = (integer) searchmap.get("currpage"); // 提取頁碼

integer pagesize = (integer) searchmap.get("pagesize"); // 每頁記錄數

if (currpage == null)

if (pagesize == null)

query.setoffset((currpage - 1) * pagesize); // 從第幾條記錄查詢

query.setrows(pagesize); // 每頁記錄數

// 1.7 排序

string sortfield = (string) searchmap.get("sortfield");// 排序字段

string sortvalue = (string) searchmap.get("sort");// asc desc

if (sortvalue != null && !sortvalue.equals("")) else if (sortvalue.equals("desc"))

} // ******************** 獲取高亮結果集 ******************************

// 高亮頁物件

highlightpagepage = solrtemplate.queryforhighlightpage(query, tbitem.class);

// 迴圈高亮入口集合(每天記錄的高亮入口)

list> list = page.gethighlighted();

// 對應的搜尋記錄

for (highlightentryhighlightentry : list)

*/// 由於我們要查詢的只有乙個域和乙個值,就可以這樣寫,直接獲取值的高亮

tbitem item = highlightentry.getentity();

if (highlightentry.gethighlights().size() > 0

&& highlightentry.gethighlights().get(0).getsnipplets().size() > 0)

} map.put("rows", page.getcontent());

map.put("totalpages", page.gettotalpages());// 返回總頁數

map.put("totalsize", page.gettotalelements()); // 返回總記錄數

return map;

}

solr高亮顯示

2012 12 14 15 56 3974人閱讀收藏 舉報solr是在lucene的基礎上做的開發,那麼在某些功能的實現上,與lucene也會有相似之處。solr的高亮顯示 包括自動摘要 是通過hl這個param,以及其相關變數來實現的,hl是hightlight的簡寫。lucene中是通過high...

solr 高亮顯示疑問

最近遇到乙個問題,solr全文檢索,撿出的結果中有的文件的檢索詞高亮顯示,但是有的卻沒有高亮 本以為是query.sethighlightfragsize 的預設值太小的緣故,預設為100,設定為200,之後依然沒有高亮,除錯程式發現沒有顯示高亮的文件,gethighlighting get id ...

solr模糊與精確查詢 關鍵字顯示高亮

文件詳情介面 param docid return public resultgetbydocid pathvariable string docid,string source,string keywords,string type if page constants.default min pa...