version: | 1.0 |
---|
Oktavia is a full text search engine for JavaScript environment. It uses FM-Index.
See following pages:
English Site: http://oktavia.info Japanese Site: http://oktavia.info/ja/
oktavia
command generates JavaScript file(searchindex.js
) that includes index and search runtime.
HTML includes the following files:
jquery.js
: jQueryoktavia-jquery-ui.js
: JS UI code. that loadssearchindex.js
and invokes runtime.searchstyle.css
: Style file for JS UI.
When the web page is loaded, oktavia-jquery-ui.js
reads searchindex.js
asynchronously as WebWorker (because some index file is big to load synchronously). oktavia-jquery-ui.js
calls search runtime and shows results.
It can work as the search engine.
Now it is an alpha version. Not optimized yet.
I am planning to implement following features:
- Word Splitter option
- Standard
- CJK
- Index Generator
- CSV (column, line)
- reST (sections, paragraph, code-block, etc...)
- Custom schema support
Don't be afraid JSX If you have an experience of JavaScript, you can learn JSX quickly.
- Static type system and unified class syntax.
- All variables and methods belong to class.
- JSX includes optimizer. You don't have to write tricky unreadalbe code for speed.
- You can use almost all JavaScript API as you know. Some functions become static class functions. See reference.
- Repository: git://github.com/shibukawa/oktavia.git
- Issues: https://github.com/shibukawa/oktavia/issues
To create development environment, call following command:
$ npm install
$ npm build
$ npm test
$ grunt doc
This source code is released under MIT License.
BitVector, WaveletMatrix, FM-Index included in this repository are ported from Shellinford (developed by @echizen_tm). Thank you!