[Groonga-commit] groonga/gcs [master] Define Domain.getSynonymSync for query expansion

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index