@@ -101,7 +101,7 @@ describe('Document facet query test', function(){
101101 result ( function ( response ) { done ( ) ; } , done ) ;
102102 } ) ;
103103
104- it ( 'should query with facet' , function ( done ) {
104+ it ( 'should query with facet' , function ( done ) {
105105 db . documents . query (
106106 q . where (
107107 q . directory ( '/test/query/facet/' )
@@ -260,7 +260,7 @@ describe('Document facet query test', function(){
260260 done ( ) ;
261261 } , done ) ;
262262 } ) ;
263-
263+
264264 it ( 'should query with facet, asc orderby, and snippet' , function ( done ) {
265265 db . documents . query (
266266 q . where (
@@ -284,8 +284,124 @@ describe('Document facet query test', function(){
284284 done ( ) ;
285285 } , done ) ;
286286 } ) ;
287+
288+ it ( 'should query with facet, des orderby, and snippet, and score logtf' , function ( done ) {
289+ db . documents . query (
290+ q . where (
291+ q . term ( 'the' )
292+ ) .
293+ calculate (
294+ q . facet ( 'popularity' , q . facetOptions ( 'item-frequency' ) )
295+ ) .
296+ orderBy ( 'popularity' , q . sort ( q . score ( 'logtf' ) , 'descending' )
297+ ) .
298+ slice ( q . snippet ( ) ) . withOptions ( { categories : 'none' } )
299+ ) .
300+ result ( function ( response ) {
301+ //console.log(JSON.stringify(response, null, 2));
302+ response [ 0 ] . total . should . equal ( 4 ) ;
303+ response [ 0 ] . results [ 0 ] . uri . should . equal ( '/test/query/facet/doc3.json' ) ;
304+ response [ 0 ] . results [ 0 ] . score . should . equal ( 22528 ) ;
305+ response [ 0 ] . results [ 0 ] . matches [ 0 ] [ 'match-text' ] [ 1 ] . highlight . should . equal ( 'the' ) ;
306+ response [ 0 ] . facets . popularity . facetValues . length . should . equal ( 3 ) ;
307+ response [ 0 ] . facets . popularity . facetValues [ 0 ] . name . should . equal ( '3' ) ;
308+ done ( ) ;
309+ } , done ) ;
310+ } ) ;
311+
312+ it ( 'should query with facet, des orderby, and snippet, and score logtfidf' , function ( done ) {
313+ db . documents . query (
314+ q . where (
315+ q . term ( 'the' )
316+ ) .
317+ calculate (
318+ q . facet ( 'popularity' , q . facetOptions ( 'item-frequency' ) )
319+ ) .
320+ orderBy ( 'popularity' , q . sort ( q . score ( 'logtfidf' ) , 'descending' )
321+ ) .
322+ slice ( q . snippet ( ) ) . withOptions ( { categories : 'none' } )
323+ ) .
324+ result ( function ( response ) {
325+ //console.log(JSON.stringify(response, null, 2));
326+ response [ 0 ] . total . should . equal ( 4 ) ;
327+ response [ 0 ] . results [ 0 ] . uri . should . equal ( '/test/query/facet/doc3.json' ) ;
328+ response [ 0 ] . results [ 0 ] . score . should . equal ( 8448 ) ;
329+ response [ 0 ] . results [ 0 ] . matches [ 0 ] [ 'match-text' ] [ 1 ] . highlight . should . equal ( 'the' ) ;
330+ response [ 0 ] . facets . popularity . facetValues . length . should . equal ( 3 ) ;
331+ response [ 0 ] . facets . popularity . facetValues [ 0 ] . name . should . equal ( '3' ) ;
332+ done ( ) ;
333+ } , done ) ;
334+ } ) ;
335+ it ( 'should query with facet, des orderby, and snippet, and score simple' , function ( done ) {
336+ db . documents . query (
337+ q . where (
338+ q . term ( 'the' )
339+ ) .
340+ calculate (
341+ q . facet ( 'popularity' , q . facetOptions ( 'item-frequency' ) )
342+ ) .
343+ orderBy ( 'popularity' , q . sort ( q . score ( 'simple' ) , 'descending' )
344+ ) .
345+ slice ( q . snippet ( ) ) . withOptions ( { categories : 'none' } )
346+ ) .
347+ result ( function ( response ) {
348+ //console.log(JSON.stringify(response, null, 2));
349+ response [ 0 ] . total . should . equal ( 4 ) ;
350+ response [ 0 ] . results [ 0 ] . uri . should . equal ( '/test/query/facet/doc3.json' ) ;
351+ response [ 0 ] . results [ 0 ] . score . should . equal ( 2048 ) ;
352+ response [ 0 ] . results [ 0 ] . matches [ 0 ] [ 'match-text' ] [ 1 ] . highlight . should . equal ( 'the' ) ;
353+ response [ 0 ] . facets . popularity . facetValues . length . should . equal ( 3 ) ;
354+ response [ 0 ] . facets . popularity . facetValues [ 0 ] . name . should . equal ( '3' ) ;
355+ done ( ) ;
356+ } , done ) ;
357+ } ) ;
358+ it ( 'should query with facet, des orderby, and snippet, and score random' , function ( done ) {
359+ db . documents . query (
360+ q . where (
361+ q . term ( 'the' )
362+ ) .
363+ calculate (
364+ q . facet ( 'popularity' , q . facetOptions ( 'item-frequency' ) )
365+ ) .
366+ orderBy ( 'popularity' , q . sort ( q . score ( 'random' ) , 'descending' )
367+ ) .
368+ slice ( q . snippet ( ) ) . withOptions ( { categories : 'none' } )
369+ ) .
370+ result ( function ( response ) {
371+ //console.log(JSON.stringify(response, null, 2));
372+ response [ 0 ] . total . should . equal ( 4 ) ;
373+ response [ 0 ] . results [ 0 ] . uri . should . equal ( '/test/query/facet/doc3.json' ) ;
374+ response [ 0 ] . results [ 0 ] . matches [ 0 ] [ 'match-text' ] [ 1 ] . highlight . should . equal ( 'the' ) ;
375+ response [ 0 ] . facets . popularity . facetValues . length . should . equal ( 3 ) ;
376+ response [ 0 ] . facets . popularity . facetValues [ 0 ] . name . should . equal ( '3' ) ;
377+ done ( ) ;
378+ } , done ) ;
379+ } ) ;
287380
288- it ( 'should query with facet, desc orderby, and snippet' , function ( done ) {
381+ it ( 'should query with facet, des orderby, and snippet, and score zero' , function ( done ) {
382+ db . documents . query (
383+ q . where (
384+ q . term ( 'the' )
385+ ) .
386+ calculate (
387+ q . facet ( 'popularity' , q . facetOptions ( 'item-frequency' ) )
388+ ) .
389+ orderBy ( 'popularity' , q . sort ( q . score ( 'zero' ) , 'descending' )
390+ ) .
391+ slice ( q . snippet ( ) ) . withOptions ( { categories : 'none' } )
392+ ) .
393+ result ( function ( response ) {
394+ //console.log(JSON.stringify(response, null, 2));
395+ response [ 0 ] . total . should . equal ( 4 ) ;
396+ response [ 0 ] . results [ 0 ] . uri . should . equal ( '/test/query/facet/doc3.json' ) ;
397+ response [ 0 ] . results [ 0 ] . score . should . equal ( 0 ) ;
398+ response [ 0 ] . results [ 0 ] . matches [ 0 ] [ 'match-text' ] [ 1 ] . highlight . should . equal ( 'the' ) ;
399+ response [ 0 ] . facets . popularity . facetValues . length . should . equal ( 3 ) ;
400+ response [ 0 ] . facets . popularity . facetValues [ 0 ] . name . should . equal ( '3' ) ;
401+ done ( ) ;
402+ } , done ) ;
403+ } ) ;
404+ it ( 'should query with facet, desc orderby, and snippet' , function ( done ) {
289405 db . documents . query (
290406 q . where (
291407 q . term ( 'the' )
@@ -381,7 +497,7 @@ describe('Document facet query test', function(){
381497 done ( ) ;
382498 } , done ) ;
383499 } ) ;
384-
500+
385501 it ( 'should remove the documents' , function ( done ) {
386502 dbAdmin . documents . removeAll ( { collection : 'facetCollection' } ) .
387503 result ( function ( response ) {
0 commit comments