lucene4 x的分組實現

2021-07-10 18:01:32 字數 1373 閱讀 7698

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

publicstaticlist> testgroup(string indexpath,string groupfield,string sumfield)

read1.close();//關閉資源

d1.close();

}catch(exception e)

returnmap;

}

至此,已經可以簡單的實現分組去重統計的功能了,如果業務比較複雜,例如像報表查詢,以及一些特定的統計求和功能,這個就可能需要自己寫了

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...