這篇文章主要介紹了Lucene.Net如何實現搜索結果分類統(tǒng)計功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
站在用戶的角度思考問題,與客戶深入溝通,找到邱縣網站設計與邱縣網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網站、網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣、主機域名、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋邱縣地區(qū)。要實現的效果如下:
但由于搜易站內搜索系統(tǒng)是基于Lucene.net 2.0開發(fā)的,并沒有內置的分類統(tǒng)計搜索功能,于是乎只能自己實現了,考慮到客戶的總數據量和搜索量不是特別大,于是用了簡單有效的方式來實現:
因為涉及到分類的操作,但是每個站點的分類體系還是有些不一樣的,本文主要提供思路和部分演示代碼,給有需要的童鞋參考:
思路:
首先想到Lucene搜索出來的結果是一個Hits對象,Hits其實就是一個搜索結果文檔的集合對象,那么遍歷這個集合對象,跟給定的分類字段比對,存在就+1 。
代碼示例:
Lucene.Net.Search.Hits hits = Searcher.Search(querystring) ; int hcount = hits.Length(); Lucene.Net.Documents.Document doc = null; for (int i = 0; i < hcount; i++) { doc = hits.Doc(i); string c1 = doc.GetField("Cate1").StringValue(); //判斷是否存在于給定的分類集合中,存在則加1 if (parameter.Cate1Groups.ContainsKey(c1)) { parameter.Cate1Groups[c1] = parameter.Cate1Groups[c1] + 1; } else { parameter.Cate1Groups.Add(c1, 1); } }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Lucene.Net如何實現搜索結果分類統(tǒng)計功能”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯網站建設公司,,關注創(chuàng)新互聯行業(yè)資訊頻道,更多相關知識等著你來學習!