Giter VIP home page Giter VIP logo

djoosh's Introduction

Djoosh

Djoosh is a reusable django app which provides extensible, pure-python fulltext indexing for Django models using the Whoosh information-retrieval library.

The djoosh project lives at http://github.com/idangazit/djoosh/.

Project Goals

Djoosh will:

  • be a pure-python fulltext indexing solution. There are many fine solutions based around Lucene and Solr (java), or Xapian (C/C++). There is even one solution (django-search) which provides pluggable indexing backends much like the ORM supports various DB backends. This project utilizes Whoosh exclusively.
  • be simple enough to make "out of the box indexing" no harder than registering a model for usage in django's admin.
  • be flexible/extensible enough that you can specify custom indexing behavior for a model if you need it -- much like you can specify a custom form for the admin.
  • be as pythonic, djangonic and KISS as we can make it. :)

We're consciously trying to ape the architecture and methodology of the django admin in order to reduce brain overhead. We'd like people to pick up djoosh and feel right at home because it looks, works, and smells a lot like the admin.

Project Anti-Goals

Given our choice of indexing library, this project will not be about raw index/search speed. If you are looking for the fastest possible indexing solution, this probably isn't it.

We're probably not going to grow this into a multi-backend search solution, then again "never say never".

Wishlist

  • Once the basic indexing solution is working, maybe include a django application that provides an HTTP interface to a djoosh. This will allow you to separate the djoosh indexing service from the django appserver, and make it available to more than one django server via the network.
  • Peace on earth and goodwill towards men.

Architecture

This is a big fat TODO. We've captured some ideas on paper and worked out a basic design, we'll fill this one once we've fleshed the project out a bit.

Usage

See: Architecture.

Meta

License

Djoosh is yours to use, modify, and redistribute according to the terms of the BSD license, the full text of which is in a file named LICENSE.txt, which should be in the same directory as this readme.

Contributors

That's a truly stupid name for a project.

So suggest a better one. :)

djoosh's People

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.