YUKI Hiroshi
null+****@clear*****
Wed Aug 22 17:31:05 JST 2012
YUKI Hiroshi 2012-08-22 17:31:05 +0900 (Wed, 22 Aug 2012) New Revision: 34f55304db9c3898cdff64e1af5ada8eb1d7e80a https://github.com/groonga/gcs/commit/34f55304db9c3898cdff64e1af5ada8eb1d7e80a Log: Add test for facetEnabled option for the search API Modified files: test/api-search.test.js Modified: test/api-search.test.js (+55 -3) =================================================================== --- test/api-search.test.js 2012-08-22 17:26:03 +0900 (dc92675) +++ test/api-search.test.js 2012-08-22 17:31:05 +0900 (97399e5) @@ -409,11 +409,12 @@ suite('Search API', function() { domain = new Domain('people', context) .setId('00000000000000000000000000').createSync(); domain.getIndexField('realname').setType('text') - .setResultEnabled(true).createSync(); + .setFacetEnabled(true).setResultEnabled(true).createSync(); domain.getIndexField('nickname').setType('text') - .setResultEnabled(true).createSync(); + .setFacetEnabled(true).setResultEnabled(true).createSync(); domain.getIndexField('type').setType('literal') - .setSearchEnabled(true).setResultEnabled(true).createSync(); + .setFacetEnabled(true).setSearchEnabled(true).setResultEnabled(true) + .createSync(); domain.loadSync([ { id: 'id1', realname: 'Jack Sparrow', nickname: 'Captain', @@ -571,5 +572,56 @@ suite('Search API', function() { assert.deepEqual(response.normalizedBody, expected); } ); + + testSearch('/2011-02-01/search?q=Jack&facet=realname,nickname,type', + 'should return only "type" field as facet by facetEnabled', + 'search-people-00000000000000000000000000.localhost', + function() { + domain.getIndexField('realname').setFacetEnabled(false).saveOptionsSync(); + domain.getIndexField('nickname').setFacetEnabled(false).saveOptionsSync(); + }, + function(response) { + var expected = { + rank: '-text_relevance', + 'match-expr': "(label 'Jack')", + hits: { + found: 2, + start: 0, + hit: [ + { + id: 'id2', + data: { + realname: ['Pumpkin Man'], + nickname: ['Jack-o\'-Lantern'], + type: ['ghost'] + } + }, + { + id: 'id1', + data: { + realname: ['Jack Sparrow'], + nickname: ['Captain'], + type: ['human'] + } + } + ] + }, + facets: { + type: { + constraints: [ + {value: 'ghost', count: 1}, + {value: 'human', count: 1} + ] + } + }, + info: { + rid: '000000000000000000000000000000000000000000000000000000000000000', + 'time-ms': 0, // always 0 + 'cpu-time-ms': 0 + } + }; + assert.deepEqual(response.normalizedBody, expected); + } + ); }); }); -------------- next part -------------- HTML����������������������������...Download