diff options
Diffstat (limited to 'web/server/h2o/libh2o/misc/oktavia/tool/search_simple.jsx')
-rw-r--r-- | web/server/h2o/libh2o/misc/oktavia/tool/search_simple.jsx | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/tool/search_simple.jsx b/web/server/h2o/libh2o/misc/oktavia/tool/search_simple.jsx new file mode 100644 index 000000000..f9b867511 --- /dev/null +++ b/web/server/h2o/libh2o/misc/oktavia/tool/search_simple.jsx @@ -0,0 +1,39 @@ +import "nodejs.jsx"; +import "fm_index.jsx"; + +class _Main +{ + static function usage () : void + { + log "Simple FM-Index Search Engine: Oktavia"; + log ""; + log "[usage]"; + log " search [input db file name] keyword"; + } + + static function main(args : string[]) : void + { + if (args.length <2) + { + _Main.usage(); + } + else + { + var indexFileName = args.shift(); + log "index file name: ", indexFileName; + var fm_index = new FMIndex(); + fm_index.load(node.fs.readFileSync(indexFileName, "utf16le")); + for (var i in args) + { + log "[search world]", args[i]; + var results = fm_index.search(args[i]); + for (var j in results) + { + var result = results[j]; + log "[", result[0], "]: ", "(", result[1], ")"; + } + log results.length, " hits"; + } + } + } +} |