The init file in the pylucene egg. Below is it:

import os, sys

if sys.platform == 'win32':
  from jcc.windows import add_jvm_dll_directory_to_path
  add_jvm_dll_directory_to_path()
  import jcc, _lucene
else:
  import _lucene

__dir__ = os.path.abspath(os.path.dirname(__file__))

class JavaError(Exception):
  def getJavaException(self):
    return self.args[0]
  def __str__(self):
    writer = StringWriter()
    self.getJavaException().printStackTrace(PrintWriter(writer))
    return "\n".join((super(JavaError, self).__str__(), "    Java
stacktrace:", str(writer)))

class InvalidArgsError(Exception):
  pass

_lucene._set_exception_types(JavaError, InvalidArgsError)

VERSION = "3.6.2"
CLASSPATH = [os.path.join(__dir__, "lucene-core-3.6.2.jar"),
os.path.join(__dir__, "lucene-analyzers-3.6.2.jar"), os.path.join(__dir__,
"lucene-memory-3.6.2.jar"), os.path.join(__dir__,
"lucene-highlighter-3.6.2.jar"), os.path.join(__dir__, "extensions.jar"),
os.path.join(__dir__, "lucene-queries-3.6.2.jar"), os.path.join(__dir__,
"lucene-grouping-3.6.2.jar"), os.path.join(__dir__,
"lucene-join-3.6.2.jar"), os.path.join(__dir__, "lucene-facet-3.6.2.jar"),
os.path.join(__dir__, "lucene-spellchecker-3.6.2.jar")]
CLASSPATH = os.pathsep.join(CLASSPATH)
_lucene.CLASSPATH = CLASSPATH
_lucene._set_function_self(_lucene.initVM, _lucene)

from _lucene import *


On Sat, Oct 18, 2014 at 12:29 AM, Andi Vajda <va...@apache.org> wrote:

>
> On Sat, 18 Oct 2014, Alexander Alex wrote:
>
>  ok. I built the class files for the java files attached herein, add them
>> to
>> lucene-core-3.6.2.jar at org.apache.lucene.analysis and
>> lucene-analyzers-3.6.2.jar at org.apache.lucene.analysis. I then added the
>> path of the dependencies to classpath in the init.py file.
>>
>
> What init.py file ?
> Can you paste the contents of that file here, please ?
>
> Andi..
>
>
>  I ran the
>> typical index file using this customized analyzer through PythonAnalyzer
>> and got the above error. Meanwhile, I had earlier ran the index file using
>> standard analyzer before adding the classes and it worked. After running
>> the index file with the customized analyzer failed, I tried again with the
>> standard analyzer which had earlier worked before adding the classes but
>> failed this time around with same error message as above. I guess the
>> problem has to do with array compatibility in java and python but I don't
>> really know. Thanks.
>>
>>
>>
>> On Fri, Oct 17, 2014 at 7:23 PM, Andi Vajda <va...@apache.org> wrote:
>>
>>
>>> On Fri, 17 Oct 2014, Alexander Alex wrote:
>>>
>>>  Meanwhile, am using lucene 3.6.2 version. The problem is jvm
>>> instantiation
>>>
>>>> from any python code using lucene caused as a result of the classes I
>>>> added
>>>> to lucene core.
>>>>
>>>> ---------- Forwarded message ----------
>>>>
>>>> I added a customized lucene analyzer class to lucene core in Pylucene.
>>>>
>>>>
>>> Please explain in _detail_ the steps you followed to accomplish this.
>>> A log of all the commands you ran would be ideal.
>>>
>>> Thanks !
>>>
>>> Andi..
>>>
>>>
>>>  This class is google guava as a dependency because of the array handling
>>>
>>>> function available in com.google.common.collect.Iterables in guava.
>>>> When
>>>> I tried to index using this analyzer, I got the following error:
>>>>
>>>> Traceback (most recent call last): File "C:\IndexFiles.py", line 78, in
>>>> lucene.initVM() JavaError: java.lang.NoClassDefFoundError:
>>>> org/apache/lucene/analysis/CharArraySet Java stacktrace:
>>>> java.lang.NoClassDefFoundError: org/apache/lucene/analysis/CharArraySet
>>>> Caused by: java.lang.ClassNotFoundException:
>>>> org.apache.lucene.analysis.CharArraySet at
>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:366) at
>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:355) at
>>>> java.security.AccessController.doPrivileged(Native Method) at
>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:354) at
>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:425) at
>>>> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at
>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>>
>>>> Even the example indexing code in Lucene in Action that I tried earlier
>>>> and
>>>> worked, when I retried it after adding this class is returning the same
>>>> error above. Am not too familiar with CharArraySet class as I can see
>>>> the
>>>> problem is from it. How do i handle this? Attached is the java files
>>>> whose
>>>> class were added to lucene core in pylucene. Thanks
>>>>
>>>>
>>>>
>>

Reply via email to