Git Product home page Git Product logo

fuzzering's Introduction

Contributors Forks Stargazers Issues MIT License


Logo

Fuzzering

Fuzzering PostgreSQL Extension
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

Product Name Screen Shot

Fuzzering is the light weight PostgreSQL extension supports searching fuzzy string using Levenshtein Distance

Introduction

Fuzzering applies Levenshtein distance for comparing each content of two sentenses.
In the first step i made, this extension is suitable for find the probability of occurrence keyword from the whole content which type likes as TEXT or VARCHAR
It will improve the result of
"SELECT name FROM users WHERE lower(REPLACE(name, ' ', '')) LIKE '%?%'", 'shane'

Getting Started

Prerequisites

You need to install some package for build the extension:

  • Clang
    # Ubuntu
    sudo apt install clang
    
    # Arch
    sudo pacman -S clang
  • LLVM
    # Ubuntu
    sudo apt install llvm
    
    # Arch
    sudo pacman -S llvm

Build and Install

  1. Build
sudo make USE_PGXS=1 install
  1. Install
CREATE EXTENSION fuzzering;
  1. For Rails Developers
  • Create migration file
    rails g migration add_fuzzering_extension
  • Add change function
    class AddFuzzeringExtension < ActiveRecord::Migration[6.1]
      def change
        enable_extension "fuzzering"
      end
    end
  • Migrate
    rake db:migrate

Usage

  1. SQL query

Product Name Screen Shot

SELECT name, fuzzering('khăng giấy', name) rank FROM products WHERE fuzzering('khăng giấy', name) > 0.5 ORDER BY rank DESC ;

RESULT QUERY

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Code Base

CODE BASE

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Shanenoi - @shanenoi - [email protected]

Project Link: Fuzzering

fuzzering's People

Contributors

shanenoi avatar

Stargazers

 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.