Kouhei Sutou
null+****@clear*****
Tue Aug 14 16:24:45 JST 2012
Kouhei Sutou 2012-08-14 16:24:45 +0900 (Tue, 14 Aug 2012) New Revision: 731c9d720c44e625d4175ed51a3d47dc27a10f2c https://github.com/groonga/gcs/commit/731c9d720c44e625d4175ed51a3d47dc27a10f2c Log: Define Domain.getSynonymSync for query expansion Modified files: lib/database/domain.js test/database-domain.test.js Modified: lib/database/domain.js (+18 -0) =================================================================== --- lib/database/domain.js 2012-08-14 14:52:28 +0900 (9dfe42d) +++ lib/database/domain.js 2012-08-14 16:24:45 +0900 (2fa9d57) @@ -271,6 +271,24 @@ Domain.prototype = { }); }, + getSynonymSync: function(key) { + if (!this.context) + throw new Error('no context'); + + if (!this.hasSynonymsTableSync()) + return []; + + var options = { + table: this.synonymsTableName, + key: key, + output_columns: SYNONYMS_COLUMN + }; + var getResult = this.context.commandSync('get', options); + var synonyms = getResult[1][0]; + + return synonyms; + }, + getSynonymsSync: function() { if (!this.context) throw new Error('no context'); Modified: test/database-domain.test.js (+9 -0) =================================================================== --- test/database-domain.test.js 2012-08-14 14:52:28 +0900 (0e5cd49) +++ test/database-domain.test.js 2012-08-14 16:24:45 +0900 (164f09c) @@ -359,6 +359,15 @@ suite('database', function() { assert.equal(dumpExpected, dumpActual); }); + test('getSynonymSync', function() { + var domain = new Domain('companies', context); + domain.updateSynonymsSync({ + tokio: ['tonkin', 'tokyo'] + }); + + assert.deepEqual(domain.getSynonymSync('tokio'), ['tonkin', 'tokyo']); + }); + test('getSynonymsSync', function() { var domain = new Domain('companies', context); domain.updateSynonymsSync({ -------------- next part -------------- HTML����������������������������...Download