On quick look that code looks fine, though removeField is an expensive
operation and unnecessary for this.
We really need the full traceback of the exception.
Mike
Aditi Goyal wrote:
Thanks Michael and Ian for your valuable response.
I am attaching a small default code. Please have a look and tell me
where am
I going wrong.
import lucene
from lucene import Document, Field, initVM, CLASSPATH
doc = Document()
fieldA = Field('fieldA', "", Field.Store.YES,
Field.Index.UN_TOKENIZED)
fieldB = Field('fieldB', "", Field.Store.YES, Field.Index.TOKENIZED)
fieldC = Field ('fieldC', "", Field.Store.YES, Field.Index.TOKENIZED)
doc.add(fieldA)
doc.add(fieldB)
doc.add(fieldC)
def get_fields():
if doc.getField('FieldA') is not None:
doc.removeField('FieldA')
if doc.getField('FieldB') is not None:
doc.removeField('FieldB')
if doc.getField('FieldC') is not None:
doc.removeField('FieldC')
fieldA.setValue("abc")
doc.add(fieldA)
fieldB.setValue("xyz")
doc.add(fieldB)
fieldC.setValue("123")
doc.add(fieldC)
return doc
def add_document():
doc = get_fields()
writer = lucene.IndexWriter(index_directory, analyzer, create_path)
writer.addDocument(doc)
writer.close()
This writer.addDocument is throwing an exception saying
java.lang.NullPointerException
Thanks,
Aditi
On Tue, Aug 19, 2008 at 3:25 PM, Michael McCandless <
[EMAIL PROTECTED]> wrote:
Ian Lea wrote:
I don't think you need to remove the field and then add it again, but
I've no idea if that is relevant to your problem or not.
That's right: just leave the Field there and change its value
(assuming the
doc you are changing to still uses that field).
A full stack trace would be more help, and maybe an upgrade to 2.3.2,
and maybe a snippet of your code, and what is JCC?
JCC generates the necessary C/C++ glue code for Python to directly
invoke
Java code. The Chandler project created this for PyLucene because
they were
having trouble with GCJ:
http://blog.chandlerproject.org/author/vajda/
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]