On Sun, 29 Aug 2010, technology inspired wrote:
I am using PyLucene 3.0.2 on Ubuntu 10.04 with Python 2.6.5 and Sun Java 1.6. I am written an example script to build index and store in a directory. Later on, I want it to search in my next example script which as of now I haven't written. There are two issues I have to mention and looking for your help: ISSUE 1: I am using Apache2 with mod_wsgi 3.3. I have got the index building script connected to a GET request. When I call that GET request, I get following errors: [error] [client 127.0.0.1] Premature end of script headers: wsgi [notice] child pid exit signal Aborted (6). With this error, I see "Internal Server Error" on my browser screen. This error appears only if I make GET request very often, i.e. around 1 per 2 seconds. If I issue GET at the interval of 10 seconds, I don't see these errors. ISSUE 2: When I index Date field using NumericField, the GET request gives "Internal Server Error" on every alternate request. and the Apache2 log files gets these errors: [error] [client 127.0.0.1] Premature end of script headers: wsgi [notice] child pid exit signal Segmentation fault (11) I am looking for help to solve these problems. I am running WSGI deamon mode. WSGI settings are: ... WSGIDaemonProcess example.com user=www-data group-www-data thread 25 WSGIProcessGroup example.com WSGIScriptAlias / /home/user1/workspace/http_wsgi/wsgi ... So do guide how to enable PyLucene based codes running from Apache2 mod_wsgi (searching, indexing etc).
First, get your application to work outside of apache2/wsgi, as a plain Python program. Then, once it's debugged, adapt it to the apache2/wsgi environment. And, last but not least, if you are using threads, be sure to call attachCurrentThread() [1] before calling into the JVM.
Andi.. [1] http://lucene.apache.org/pylucene/jcc/documentation/readme.html#api