YUKI Hiroshi
null+****@clear*****
Wed Aug 22 16:36:47 JST 2012
YUKI Hiroshi 2012-08-22 16:36:47 +0900 (Wed, 22 Aug 2012) New Revision: 31c95d9b8f55cfc13c6b02491c74802c59691966 https://github.com/groonga/gcs/commit/31c95d9b8f55cfc13c6b02491c74802c59691966 Log: Don't expose internal columns to the search result Modified files: lib/api/2011-02-01/search.js test/api-search.test.js Modified: lib/api/2011-02-01/search.js (+9 -1) =================================================================== --- lib/api/2011-02-01/search.js 2012-08-22 16:01:12 +0900 (f29b0c2) +++ lib/api/2011-02-01/search.js 2012-08-22 16:36:47 +0900 (1ec1841) @@ -39,7 +39,15 @@ function formatSelectResults(data) { var records = data[0].slice(2); var results = records.map(function(record) { var object = {}; + var id; columnNames.forEach(function(columnName, index) { + // bind internal "_key" column to the "id" + if (columnName == '_key') { + id = record[index]; + return; + } + // don't expose any internal column + if (columnName[0] == '_') return; if (Array.isArray(record[index])) { // vector column object[columnName] = record[index]; @@ -49,7 +57,7 @@ function formatSelectResults(data) { } }); return { - id: object._key[0], + id: id, data: object }; }); Modified: test/api-search.test.js (+0 -36) =================================================================== --- test/api-search.test.js 2012-08-22 16:01:12 +0900 (0a000a9) +++ test/api-search.test.js 2012-08-22 16:36:47 +0900 (e5313b0) @@ -84,8 +84,6 @@ suite('Search API', function() { hit: [{ id: 'id3', data: { - _id: [3], - _key: ['id3'], address: ['Hongo, Tokyo, Japan'], description: [''], email_address: ['info �� clear-code.com'], @@ -119,8 +117,6 @@ suite('Search API', function() { { id: 'id1', data: { - _id: [1], - _key: ['id1'], address: ['Shibuya, Tokyo, Japan'], description: [''], email_address: ['info �� razil.jp'], @@ -132,8 +128,6 @@ suite('Search API', function() { { id: 'id3', data: { - _id: [3], - _key: ['id3'], address: ['Hongo, Tokyo, Japan'], description: [''], email_address: ['info �� clear-code.com'], @@ -145,8 +139,6 @@ suite('Search API', function() { { id: 'id9', data: { - _id: [9], - _key: ['id9'], address: ['Tokyo, Japan'], description: [''], email_address: [''], @@ -180,8 +172,6 @@ suite('Search API', function() { { id: 'id1', data: { - _id: [1], - _key: ['id1'], address: ['Shibuya, Tokyo, Japan'], description: [''], email_address: ['info �� razil.jp'], @@ -193,8 +183,6 @@ suite('Search API', function() { { id: 'id3', data: { - _id: [3], - _key: ['id3'], address: ['Hongo, Tokyo, Japan'], description: [''], email_address: ['info �� clear-code.com'], @@ -206,8 +194,6 @@ suite('Search API', function() { { id: 'id9', data: { - _id: [9], - _key: ['id9'], address: ['Tokyo, Japan'], description: [''], email_address: [''], @@ -250,8 +236,6 @@ suite('Search API', function() { { id: 'id1', data: { - _id: [1], - _key: ['id1'], address: ['Shibuya, Tokyo, Japan'], description: [''], email_address: ['info �� razil.jp'], @@ -263,8 +247,6 @@ suite('Search API', function() { { id: 'id3', data: { - _id: [3], - _key: ['id3'], address: ['Hongo, Tokyo, Japan'], description: [''], email_address: ['info �� clear-code.com'], @@ -299,8 +281,6 @@ suite('Search API', function() { { id: 'id3', data: { - _id: [3], - _key: ['id3'], address: ['Hongo, Tokyo, Japan'], description: [''], email_address: ['info �� clear-code.com'], @@ -312,8 +292,6 @@ suite('Search API', function() { { id: 'id9', data: { - _id: [9], - _key: ['id9'], address: ['Tokyo, Japan'], description: [''], email_address: [''], @@ -379,8 +357,6 @@ suite('Search API', function() { { id: 'id1', data: { - _id: [1], - _key: ['id1'], address: ['Shibuya, Tokyo, Japan'], description: [''], email_address: ['info �� razil.jp'], @@ -392,8 +368,6 @@ suite('Search API', function() { { id: 'id3', data: { - _id: [3], - _key: ['id3'], address: ['Hongo, Tokyo, Japan'], description: [''], email_address: ['info �� clear-code.com'], @@ -405,8 +379,6 @@ suite('Search API', function() { { id: 'id9', data: { - _id: [9], - _key: ['id9'], address: ['Tokyo, Japan'], description: [''], email_address: [''], @@ -458,8 +430,6 @@ suite('Search API', function() { { id: 'id2', data: { - _id: [2], - _key: ['id2'], realname: ['Pumpkin Man'], nickname: ['Jack-o\'-Lantern'] } @@ -467,8 +437,6 @@ suite('Search API', function() { { id: 'id1', data: { - _id: [1], - _key: ['id1'], realname: ['Jack Sparrow'], nickname: ['Captain'] } @@ -502,8 +470,6 @@ suite('Search API', function() { { id: 'id1', data: { - _id: [1], - _key: ['id1'], realname: ['Jack Sparrow'], nickname: ['Captain'] } @@ -538,8 +504,6 @@ suite('Search API', function() { { id: 'id2', data: { - _id: [2], - _key: ['id2'], realname: ['Pumpkin Man'], nickname: ['Jack-o\'-Lantern'] } -------------- next part -------------- HTML����������������������������...Download