Skip to content

yathit/fullproof

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FullProof

The main modification on this fork is conversion to closure library module using YDN-DB database library.

A javascript-based fulltext search engine library.

Fullproof provides a full stack of components for managing a search engine in javascript.

Its main features are:

  • Boolean and Scoring search engines available, depending on the kind of search your application needs
  • Automatic HTML5 storage detection, and graceful degradation, with a configurable constraint-based capabilities system. Currently manages WebSQL, IndexedDB and Memory data storage.
  • Full unicode support and normalization, diacritical marks removal, stemming and phonetical algorithms (currently available for english and french)
  • Configurable and very easely extensible parsing and token normalization system
  • Easy to integrate, zero external dependency, ~100k minified

Note that fullproof is NOT a document management system, it does only one thing: provide fulltext search to your application, it does not aim at storing documents or data.

##Licence

Fullproof is released under the terms of the Apache License, version 2.0, january 2004

##Useful Links

##Building

The tools directory contains build-all.sh that can be used to create a convenient fullproof-all.js file containing everything you might need to get going on a Fullproof project. Note that in a production system you may want to just include specific Javascript files, not everything (see the examples).

To build fullproof-all.js:

$ cd tools
$ ./build-all.sh

If you have the Google closure compiler (see https://developers.google.com/closure/compiler/) you might prefer to run

$ cd tools
$ CLOSURE_COMPILER_JAR=/path/to/your/compiler.jar ./build-all.sh

All output from the build process will appear in the top-level build directory. In particular, see build/js/fullproof-all.js.

##Contribute !

You can help improve fullproof and fulltext research by creating new algorithms:

  • Tokenizers for specific formats and/or languages (html, pdf, epub, etc, or any language where tokenization have special rules)
  • New normalizers: Normalizers help improve drastically the quality of the search. The current token normalizers for english (porter stemmer, metaphone, etc) are rather naive and can surely be enhanced. If you are a native speaker for a non-english language, you can also help by providing normalizers adapted to your language.
  • More stores. Think you can optimize the current stores implementation ? Or create a new store ? Go ahead!

You can fork fullproof at https://github.com/reyesr/fullproof

About

javascript fulltext search engine library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 83.8%
  • HTML 13.5%
  • CSS 2.7%