lucene在4.x之前,沒有實現分組的功能,如果業務中有需要分組的功能,那麼必須的借助第三方的提供的外掛程式,來實現分組,例如bobo-browse,或者,自己用lucene寫分組功能,筆者個人覺得用第三方的分組外掛程式,雖說功能強大,但是比較繁瑣,自己寫的話,可以實現,但是效率方面卻不是很好,在4.x之後,lucene已經自己實現分組功能提供了分組jar包 lucene-grouping-4.2.0.jar ,利用此類可以效率很高完成分組去重功能。下面不在囉嗦,直接貼出**,如有問題,歡迎指正!
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public
static
list> testgroup(string indexpath,string groupfield,string sumfield)
read1.close();
//關閉資源
d1.close();
}
catch
(exception e)
return
map;
}
至此,已經可以簡單的實現分組去重統計的功能了,如果業務比較複雜,例如像報表查詢,以及一些特定的統計求和功能,這個就可能需要自己寫了
lucene4 x收集器Collector介紹
主要用於從搜尋中收集原始結果,並實現排序或自定義結果過濾 排序等。包含以下四個抽象方法 setscorer 在連續呼叫collect方法之前呼叫,需要文件評分的實現,需要儲存傳遞進來的scorer,並在需要的時候呼叫scorer.score setnextreader 在從每個atomicreade...
關於Lucene分組查詢後的排序
int total 0 if groupfield null 如果不分組,直接對查詢結果進行返回 topdocs topfielddocs null if equals util.strnull sortfield else if sortfield.startswith nprice topfie...
lucene 高亮的實現
之前在網上找了好久lucene高亮的包,找了幾個,但是我用的lucene是3.0以後的,而針對3.0的高亮網上是很少的,再 三決定還是自己寫個高亮吧。下面是 public arraylistcutkeyword string keyword,analyzer analyzer catch ioexc...