views:

2065

answers:

8

The ruby folks have Ferret. Someone know of any similar initiative for Python? We're using PyLucene at current, but I'd like to investigate moving to pure Python searching.

+1  A: 

lupy was a lucene port to pure python.The lupy people suggest that you use PyLucene. Sorry. Maybe you can use the Java sources in combination with Jython.

Yuval F
It's interesting that Ferret seems to be very appreciated and used while Lupy was abandoned.
PEZ
Well, PyLucene seems to cater to a similar community. Also, some people are even ready to do their full-text searches in Java because of Lucene ;-)
Yuval F
+4  A: 

The only one pure-python (not involving even C extension) search solution I know of is Nucular. It's slow (much slower than PyLucene) and unstable yet.

We moved from PyLucene-based home baked search and indexing to Solr but YMMV.

zgoda
+3  A: 

I recently found pyndexter. It provides abstract interface to various different backend full-text search engines/indexers. And it ships with a default pure-python implementation.

These things can be disastrously slow though in Python.

Ali A
+3  A: 

For some applications pure Python is overrated. Take a look at Xapian.

Ignacio Vazquez-Abrams
Thanks for the Xapian mention. Not what I need right now, but I'll sure keep it in mind for later.
PEZ
+1  A: 

After weeks of searching for this, I found a nice Python solution: repoze.catalog. It's not strictly Python-only because it uses ZODB for storage, but it seems a better dependency to me than something like SOLR.

Ali A
+1  A: 

+1 to the Xapian and Pyndexter answers.

Ferret is actually written in C with Ruby bindings on top. A pure Ruby search engine would be even slower than a pure Python one. I would love to see "someone else" write a Cython/Pyrex layer for Python interface to Ferret, but won't do it myself because why bother when there are Python bindings for Xapian.

Van Gale
Thanks. I used the term "pure" in a dirty way. =) If I can install it with easy_setup of the like I'm happy.
PEZ
+9  A: 

Whoosh is a new project which is similar to lucene, but is pure python.

Coady
Just used whoosh for a project and it really was easy to use. No messing around at all - just worked.
John Montgomery
A: 

For non-pure Python, Sphinx Search with Python API work is the fastest. From the bench marks from multiple blogs . Sphinxsearch is way faster than , way less memory usage then Lucence and it is in C.

I am developing a multi-document searchengine base on it, using python and web2py as framework

web2py.com sphinxsearch.com

V3ss0n