Changeset 2532


Ignore:
Timestamp:
02/22/10 23:12:55 (2 years ago)
Author:
karpet
Message:

add build/search time stats; add facets to response

Location:
Search-OpenSearch/trunk/lib/Search/OpenSearch
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • Search-OpenSearch/trunk/lib/Search/OpenSearch/Engine.pm

    r2531 r2532  
    99use Search::OpenSearch::Response::JSON; 
    1010use CHI; 
     11use Time::HiRes qw( time ); 
    1112 
    1213__PACKAGE__->mk_accessors(qw( index facets fields link cache cache_ttl )); 
     
    4243    my $query = $args{'q'}; 
    4344    if ( !defined $query ) { croak "query required"; } 
    44  
     45    my $start_time     = time(); 
    4546    my $offset         = $args{'o'} || 0; 
    4647    my $sort_by        = $args{'s'} || 'score DESC'; 
     
    7778        } 
    7879    ); 
     80    my $search_time = sprintf( "%0.5f", time() - $start_time ); 
     81    my $start_build = time(); 
    7982    my $response 
    8083        = $count_only 
    8184        ? $response_class->new( total => $results->hits ) 
    8285        : $response_class->new( 
    83         results   => $results, 
    84         facets    => $self->get_facets( $query, $results ), 
    85         fields    => $self->fields, 
    86         offset    => $offset, 
    87         page_size => $page_size, 
    88         total     => $results->hits, 
    89         query     => $query, 
    90         link      => $self->link, 
     86        results     => $results, 
     87        facets      => $self->get_facets( $query, $results ), 
     88        fields      => $self->fields, 
     89        offset      => $offset, 
     90        page_size   => $page_size, 
     91        total       => $results->hits, 
     92        query       => $query, 
     93        link        => $self->link, 
     94        search_time => $search_time, 
    9195        ); 
     96    my $build_time = sprintf( "%0.5f", time() - $start_build ); 
     97    $response->build_time($build_time); 
    9298    return $response; 
    9399} 
  • Search-OpenSearch/trunk/lib/Search/OpenSearch/Response.pm

    r2527 r2532  
    2626        author 
    2727        pps 
     28        search_time 
     29        build_time 
    2830        ) 
    2931); 
  • Search-OpenSearch/trunk/lib/Search/OpenSearch/Response/JSON.pm

    r2527 r2532  
    1212    my $results = $self->fetch_results(); 
    1313 
    14     # TODO more. 
    1514    my %resp = ( 
    16         results   => $results, 
    17         total     => $self->total, 
    18         offset    => $self->offset, 
    19         page_size => $self->page_size, 
     15        results     => $results, 
     16        total       => $self->total, 
     17        offset      => $self->offset, 
     18        page_size   => $self->page_size, 
     19        search_time => $self->search_time, 
     20        build_time  => $self->build_time, 
     21        facets      => $self->facets, 
     22        query       => $self->query, 
     23        title       => $self->title, 
     24        link        => $self->link, 
     25        author      => $self->author, 
    2026    ); 
    2127 
  • Search-OpenSearch/trunk/lib/Search/OpenSearch/Response/XML.pm

    r2528 r2532  
    3636            'opensearch:itemsPerPage' => $self->page_size, 
    3737            'id'                      => $UUID_maker->create(), 
     38            'facets'                  => $self->facets, 
     39            'search_time'             => $self->search_time, 
     40            'build_time'              => $self->build_time, 
    3841        }, 
    3942        'feed', 
Note: See TracChangeset for help on using the changeset viewer.