[ 
https://issues.apache.org/jira/browse/LUCENE-3099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13040681#comment-13040681
 ] 

Martijn van Groningen commented on LUCENE-3099:
-----------------------------------------------

Also some initial performance indications. This data was created with the 
runner provided in the patch. A ran it on a index of 30M documents that has 
7502 unique groups.
{code}
===== First pass collectors execution =====
number   |collector                               |query                   
|time (ms)   |Current mem usage (MB)  
1        |FirstPassGroupingCollector              |country:es              |888 
        |170                     
2        |ResearchFirstPassGroupingCollector      |country:es              |710 
        |170                     
3        |FirstPassGroupingCollector              |country:es country:eg   
|1448        |170                      
4        |ResearchFirstPassGroupingCollector      |country:es country:eg   
|1350        |170                      
5        |FirstPassGroupingCollector              |country:it              |2   
        |170                    
6        |ResearchFirstPassGroupingCollector      |country:it              |3   
        |170                     
7        |FirstPassGroupingCollector              |country:gr              |45  
        |170                      
8        |ResearchFirstPassGroupingCollector      |country:gr              |43  
        |170                    
9        |FirstPassGroupingCollector              |country:it              |3   
        |170                    
10       |ResearchFirstPassGroupingCollector      |country:it              |3   
        |170                    
11       |FirstPassGroupingCollector              |country:it              |2   
        |170                    
12       |ResearchFirstPassGroupingCollector      |country:it              |3   
        |170                    
13       |FirstPassGroupingCollector              |country:eg              |67  
        |170                    
14       |ResearchFirstPassGroupingCollector      |country:eg              |91  
        |171                     
15       |FirstPassGroupingCollector              |country:es country:eg   
|1387        |171                    
16       |ResearchFirstPassGroupingCollector      |country:es country:eg   
|1351        |171                     
17       |FirstPassGroupingCollector              |country:e*              
|2264        |173                    
18       |ResearchFirstPassGroupingCollector      |country:e*              
|1036        |176                     
19       |FirstPassGroupingCollector              |country:it              |2   
        |176                     
20       |ResearchFirstPassGroupingCollector      |country:it              |3   
        |176                      
21       |FirstPassGroupingCollector              |*:*                     |526 
        |176                     
22       |ResearchFirstPassGroupingCollector      |*:*                     |410 
        |176                     
23       |FirstPassGroupingCollector              |country:gr              |50  
        |177                      
24       |ResearchFirstPassGroupingCollector      |country:gr              |45  
        |177                      
25       |FirstPassGroupingCollector              |country:es country:eg   
|1397        |177                     
26       |ResearchFirstPassGroupingCollector      |country:es country:eg   
|1362        |177                     
27       |FirstPassGroupingCollector              |*:*                     |544 
        |177                      
28       |ResearchFirstPassGroupingCollector      |*:*                     |411 
        |177                    
29       |FirstPassGroupingCollector              |country:tr              |54  
        |177                     
30       |ResearchFirstPassGroupingCollector      |country:tr              |52  
        |177                      
31       |FirstPassGroupingCollector              |*:*                     |531 
        |177                    
32       |ResearchFirstPassGroupingCollector      |*:*                     |413 
        |177                     
33       |FirstPassGroupingCollector              |*:*                     |534 
        |177                     
34       |ResearchFirstPassGroupingCollector      |*:*                     |416 
        |177                      
35       |FirstPassGroupingCollector              |country:eg              |67  
        |177                    
36       |ResearchFirstPassGroupingCollector      |country:eg              |64  
        |177                    
37       |FirstPassGroupingCollector              |country:gr              |45  
        |177                     
38       |ResearchFirstPassGroupingCollector      |country:gr              |47  
        |177                      
39       |FirstPassGroupingCollector              |country:e*              
|1109        |181                     
40       |ResearchFirstPassGroupingCollector      |country:e*              |965 
        |185                      
41       |FirstPassGroupingCollector              |country:us              |56  
        |185                      
42       |ResearchFirstPassGroupingCollector      |country:us              |62  
        |185                      
43       |FirstPassGroupingCollector              |country:gr              |44  
        |185                      
44       |ResearchFirstPassGroupingCollector      |country:gr              |42  
        |185                      
45       |FirstPassGroupingCollector              |country:es              |872 
        |185                      
46       |ResearchFirstPassGroupingCollector      |country:es              |723 
        |185                     
47       |FirstPassGroupingCollector              |country:es              |804 
        |185                      
48       |ResearchFirstPassGroupingCollector      |country:es              |717 
        |185                      
49       |FirstPassGroupingCollector              |country:es              |747 
        |185                      
50       |ResearchFirstPassGroupingCollector      |country:es              |723 
        |185                      



===== All groups collectors execution =====
number   |collector                     |query                   |time (ms)   
|count       |Current mem usage (MB)
1        |AllGroupsCollector            |country:us              |54          
|11          |185         
2        |ResearchAllGroupsCollector    |country:us              |53          
|11          |169         
3        |AllGroupsCollector            |country:it              |2           
|9           |169         
4        |ResearchAllGroupsCollector    |country:it              |2           
|9           |169         
5        |AllGroupsCollector            |country:tr              |64          
|1700        |170         
6        |ResearchAllGroupsCollector    |country:tr              |67          
|1700        |170         
7        |AllGroupsCollector            |*:*                     |454         
|7502        |170         
8        |ResearchAllGroupsCollector    |*:*                     |471         
|7502        |170         
9        |AllGroupsCollector            |country:tr              |51          
|1700        |171         
10       |ResearchAllGroupsCollector    |country:tr              |61          
|1700        |171         
11       |AllGroupsCollector            |country:es              |717         
|3012        |171         
12       |ResearchAllGroupsCollector    |country:es              |755         
|3012        |171         
13       |AllGroupsCollector            |country:es              |691         
|3012        |172         
14       |ResearchAllGroupsCollector    |country:es              |765         
|3012        |172         
15       |AllGroupsCollector            |*:*                     |411         
|7502        |172         
16       |ResearchAllGroupsCollector    |*:*                     |462         
|7502        |173         
17       |AllGroupsCollector            |country:es              |685         
|3012        |173         
18       |ResearchAllGroupsCollector    |country:es              |743         
|3012        |173         
19       |AllGroupsCollector            |country:eg              |57          
|646         |173         
20       |ResearchAllGroupsCollector    |country:eg              |63          
|646         |173         
21       |AllGroupsCollector            |country:tr              |51          
|1700        |173         
22       |ResearchAllGroupsCollector    |country:tr              |54          
|1700        |174         
23       |AllGroupsCollector            |country:it              |2           
|9           |174         
24       |ResearchAllGroupsCollector    |country:it              |3           
|9           |174         
25       |AllGroupsCollector            |*:*                     |433         
|7502        |174         
26       |ResearchAllGroupsCollector    |*:*                     |709         
|7502        |175         
27       |AllGroupsCollector            |country:tr              |50          
|1700        |175         
28       |ResearchAllGroupsCollector    |country:tr              |59          
|1700        |175         
29       |AllGroupsCollector            |country:gr              |44          
|2061        |175         
30       |ResearchAllGroupsCollector    |country:gr              |43          
|2061        |175         
31       |AllGroupsCollector            |country:us              |17          
|11          |176         
32       |ResearchAllGroupsCollector    |country:us              |27          
|11          |176         
33       |AllGroupsCollector            |country:tr              |55          
|1700        |176         
34       |ResearchAllGroupsCollector    |country:tr              |55          
|1700        |176         
35       |AllGroupsCollector            |country:e*              |941         
|3658        |180         
36       |ResearchAllGroupsCollector    |country:e*              |1087        
|3658        |184         
37       |AllGroupsCollector            |country:es              |706         
|3012        |184         
38       |ResearchAllGroupsCollector    |country:es              |747         
|3012        |184         
39       |AllGroupsCollector            |country:eg              |57          
|646         |185         
40       |ResearchAllGroupsCollector    |country:eg              |61          
|646         |185         
41       |AllGroupsCollector            |country:es country:eg   |1507        
|3658        |170         
42       |ResearchAllGroupsCollector    |country:es country:eg   |1512        
|3658        |171         
43       |AllGroupsCollector            |country:gr              |38          
|2061        |171         
44       |ResearchAllGroupsCollector    |country:gr              |41          
|2061        |172         
45       |AllGroupsCollector            |country:us              |17          
|11          |172         
46       |ResearchAllGroupsCollector    |country:us              |19          
|11          |172         
47       |AllGroupsCollector            |country:es              |708         
|3012        |172         
48       |ResearchAllGroupsCollector    |country:es              |742         
|3012        |172         
49       |AllGroupsCollector            |country:us              |17          
|11          |172         
50       |ResearchAllGroupsCollector    |country:us              |19          
|11          |173         
{code}

> Grouping module should allow subclasses to set the group key per document
> -------------------------------------------------------------------------
>
>                 Key: LUCENE-3099
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3099
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Michael McCandless
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3099.patch
>
>
> The new grouping module can only group by a single-valued indexed field.
> But, if we make the 'getGroupKey' a method that a subclass could override, 
> then I think we could refactor Solr over to the module, because it could do 
> function queries and normal queries via subclass (I think).
> This also makes the impl more extensible to apps that might have their own 
> interesting group values per document.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to