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]
>
>