InhaltTableOfContents

What is it about?

[http://pylucene.osafoundation.org/ PyLucene] is a [http://python.org/ python] interface for the [http://lucene.apache.org/ Lucene] indexing engine.

Indexing engines are used to parse data and store the content in way that is optimized for searching through it.

Another popular indexing engine is [http://xapian.org Xapian], but since its installation in Debian is more than trivial, there is no need for a howto :).

The installation of PyLucene is worth a howto, since the settings of the installer are statically put together without any auto-configuration.


Preparation

Which version of Lucene?

Currently there are two different releases of PyLucene available:

The developer of PyLucene dropped support for GCJ since version 2.3, thus it should be reasonable to use the JCC sources.

Installation

Get the source

Compile JCC

You may skip this step, if you already have a working JCC installation.

  1. install required packages:

    aptitude install sun-java5-jdk g++ python-dev
  2. work around the wrong pre-settings in jcc/setup.py - a little bit dirty, but it works (alternative: fix the INCLUDE, CFLAGS and LFLAGS for linux in jcc/setup.py):

    ln -s java-1.5.0-sun /usr/lib/jvm/java-6-sun
  3. compile JCC:

    cd jcc
    python setup.py build
  4. install JCC (as root user):

    python setup.py install
  5. fix the installation location with a symlink:

    ln -s JCC-1.8-py2.4-linux-i686.egg/jcc /usr/lib/python2.4/site-packages/
    1. check if the symlink works (otherwise you may have to adjust the path above):

      test -e /usr/lib/python2.4/site-packages/jcc && echo "OK" || echo "Failed"
  6. test if the jcc python module can be imported (no output -> OK):

    python -c "import jcc"

Compile PyLucene

Please notice: the installer's Makefile does not like to restart after errors. Use make realclean (instead of the usual distclean) before trying to restart/continue compilation! Beware: this requires a working internet connection for a repository download.

  1. install required packages:

    aptitude install ant make subversion
  2. uncomment the appropriate bunch of settings in Makefile - the one for Linux (Ubuntu 6.06, Python 2.4, Java 1.5):

    PREFIX_PYTHON=/usr
    ANT=ant
    PYTHON=$(PREFIX_PYTHON)/bin/python
    JCC=$(PYTHON) $(PREFIX_PYTHON)/lib/python2.4/site-packages/jcc/__init__.py
    NUM_FILES=1
  3. compile:

    make
  4. install:

    make install

Troubleshooting

undefined symbol during PyLucene build

This can be caused by having some part of gcj installed while compiling jcc.

Check if gcj is installed by issuing the following line (no output -> OK):

dpkg -l | grep gcj | grep ^i

In case it was installed:

  1. remove gcj

  2. recompile jcc

  3. reinstall jcc

  4. recompile PyLucene


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.