-
Notifications
You must be signed in to change notification settings - Fork 1
/
morph-get
executable file
·69 lines (54 loc) · 1.61 KB
/
morph-get
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/usr/bin/env node
/*
get a word from MW
*/
var lat = process.argv.slice(2)[0] || false;
var pdch = process.argv.slice(3)[0] || false;
// var util = require('util');
var sandhi = require('sandhi');
var u = sandhi.u;
var log = u.log;
var p = u.p;
var param = require('./lib/morph-param');
// dbpath = 'http://admin:kjre4317@localhost:5984';
dbpath = 'http://localhost:5984';
var Relax = require('relax-component');
var relax = new Relax(dbpath);
// relax.dbname('sa');
if (!lat) return log('?');
var par = param(lat);
var samasa = par.sa;
log('_la_:', lat, '_sa_:', samasa);
console.time('morph');
get(samasa, function(err, res) {
log('get: ');
p(res);
});
console.timeEnd('morph');
function get(stem, cb) {
// var view = 'sa/byStem';
// relax.dbname('gita-add');
// var view = 'gita-add/byStem';
relax.dbname('sa');
var view = 'sa/byStem';
// var view = 'sa/byIndecl';
var stems = [stem];
var keys = ['keys=', JSON.stringify(stems)].join('');
// var keys = ['keys=', JSON.stringify(['इहैव'])].join('');
log('morph-03 getDicts =====>> keys:', keys);
relax
.view(view)
.query(keys)
.query({include_docs: true})
// .query({limit: 100})
.end(function(err, res) {
// log('ERR morph getDicts', err, res.text);
if (err) return cb(err, null);
var rows = JSON.parse(res.text.trim()).rows;
if (!rows) cb(err, null);
// log('./morph get Dicts: rows', rows);
var docs = rows.map(function(row) { return row.doc });
cb(err, docs);
return;
});
}