GithubHelp home page GithubHelp logo

pombredanne / oktavia Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shibukawa/oktavia

0.0 1.0 0.0 3.56 MB

Full text search engine for JS environments

License: MIT License

CSS 7.80% JavaScript 91.86% HTML 0.34%

oktavia's Introduction

Oktavia

https://travis-ci.org/shibukawa/oktavia.png?branch=master

https://david-dm.org/shibukawa/oktavia.png

https://david-dm.org/shibukawa/oktavia/dev-status.png

version:1.0

Synopsis

Oktavia is a full text search engine for JavaScript environment. It uses FM-Index.

Usage

See following pages:

English Site: http://oktavia.info Japanese Site: http://oktavia.info/ja/

Basic Structure

oktavia command generates JavaScript file(searchindex.js) that includes index and search runtime.

HTML includes the following files:

  • jquery.js : jQuery
  • oktavia-jquery-ui.js : JS UI code. that loads searchindex.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.

Current Status

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

Development

JSX

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

Setup

To create development environment, call following command:

$ npm install

Build

$ npm build

Run test

$ npm test

Generate API reference

$ grunt doc

License

This source code is released under MIT License.

Thanks

BitVector, WaveletMatrix, FM-Index included in this repository are ported from Shellinford (developed by @echizen_tm). Thank you!

oktavia's People

Contributors

azu avatar gfx avatar knzm avatar shibukawa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.